Java--简单算法

来源:互联网 发布:淘宝店铺分类模板代码 编辑:程序博客网 时间:2024/06/17 21:51
程序1//兔子的规律为1,1,2,3,5,8,13,21public class Demo {public static void main(String[] args) {int i=6;int count = getCount(i);System.out.println("count:"+count);}public static int getCount(int n){if(n==1||n==2){return 1;}else{return getCount(n-1)+getCount(n-2);}}}
程序2:求素数
public class Demo2 {public static void main(String[] args) {for(int x=2;x<100;x++){if(getCount(x)){System.out.println(x+":是素数");}}}public static boolean getCount(int n){    for(int x=2;x<n;x++){if(n%x==0){return false;}}    return true;}}
程序3://打印水仙花数
public class Demo3 {public static void main(String[] args) {for(int x=100;x<1000;x++){print(x);}}public  static void print(int n){int ge=n%100;int shi=n/10%10;int bai=n/100;if(n==ge*ge*ge+shi*shi*shi+bai*bai*bai){System.out.println(n+"是水仙花数");}}}
程序4:正整数分解因式:90=2*3*3*5;
public class Demo4 {public static void main(String[] args) {//定义需要分解的正整数int  num=90;getYinShu(num);}//采用递归的方式public static void getYinShu(int n){for(int x=2;x<=n;x++){if(n%x==0){System.out.print(x+"*");//分解一次之后将其商作为正整数再进行分解getYinShu(n/x);}}System.out.println(n);//System.exit(0)退出整个系统,否则程序会报错System.exit(0);}}

注意:System.exit(0)退出整个系统,否则程序会报错,此代码必须有
程序5:利用条件运算符的嵌套:学习成绩>=90  A    60-89分    B   60分以下    C
public class Demo5 {public static void main(String[] args) {//键盘录入学习成绩Scanner sc=new Scanner(System.in);System.out.println("请输入学生成绩:");int score=sc.nextInt();System.out.println(getScore(score));}private static char getScore(int score) {if(score>=90){return 'A';}else  if(score>=60){return 'B';}else {return 'C';}}}
程序6:输入两个正整数m和n,求其最大公约数和最小公倍数
public class Demo6 {public static void main(String[] args) {greateCommonDivisor(45,16);}//求m和n的最大公约数的方法:public static void greateCommonDivisor(int m,int n){int temp=m>n?m:n;int gcd=0;for(int x=1;x<=temp;x++){if(m==1||n==1){System.out.println("最大公约数是1");break;}if(m%x==0&&n%x==0){gcd=x;}}System.out.println(m+"和"+n+"的最大公约数是:"+gcd);//求m和n的最小公倍数int t=gcd*(m/gcd)*(n/gcd);System.out.println(m+"和"+n+"的最小公倍数是:"+t);}}