1、JAVA经典算法40题1 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{public static void main(String args[]){int i=0;for(i=1;i<=20;i++)System.out.println(f(i));}public static int f
2、(int x){if(x==1
3、
4、 x==2)return 1;elsereturn f(x-1)+f(x-2);}}或public class exp2{public static void main(String args[]){int i=0;math mymath = new math();for(i=1;i<=20;i++)System.out.println(mymath.f(i));}}class math{public int f(int x){if(x==1
5、
6、 x==2)retu
7、rn 1;elsereturn f(x-1)+f(x-2);}}2判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{public static void main(String args[]){int i=0;math mymath = new math();for(i=2;i<=200;i++)if(mymath.iszhishu(
8、i)==true)System.out.println(i);}}class math{public int f(int x){if(x==1
16、的正整数你,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 public class exp2{public exp2(){} public void fengjie(int n){ for(int i=2;i<=n/2;i++){ if(n%i==0){ System.out.print(i+"*");