古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
方法一:非递归 public static void main(String[] args) { // TODO Auto-generated method stub long[] arr=new long[20]; arr[0]=arr[1]=arr[2]=1; for(int i=3;i<20;i++){ arr[i]=arr[i-1]+arr[i-2]; } for(int i=1;i<20;i++){ System.out.PRintln(“第”+i+”个月兔子的总数是:”+arr[i]); } }
方法二:递归 public class ru20170207 { public static void main(String[] args) { // TODO Auto-generated method stub for(int i=1;i<20;i++){ System.out.println(“第”+i+”个月兔子的总数是:”+meigeyuetuzi(i)); } } public static long meigeyuetuzi(int n){ if(n==1||n==2){ return 1; }else { return meigeyuetuzi(n-1)+meigeyuetuzi(n-2); } } }
新闻热点
疑难解答