JAVA经典算法

    技术2022-05-20  44

    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(int x) {  if(x==1 || x==2)   return 1;  else   return 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 || x==2)   return 1;  else   return 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(i)==true)   System.out.println(i); }}class math{ public int f(int x) {  if(x==1 || x==2)   return 1;  else   return f(x-1)+f(x-2); } public boolean iszhishu(int x) {  for(int i=2;i<=x/2;i++)   if (x % 2==0 )    return false;  return true; }}


    最新回复(0)