古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....
main(){
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++){
printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n");/*控制输出,每行四个*/
; /*前两个月加起来赋值给第三个月*/
; /*前两个月加起来赋值给第三个月*/
}
}

//菲波拉契数列问题

//a1=1,a2=1, a3=a1+a2, an=(a(n-2)-a(n-1))

public class rabbit{

public static void main(String[] args){
int a1=1,a2=1,an,M=24;
System.out.println("第1月的兔子数量是: 1");
System.out.println("第2月的兔子数量是: 1");
for(int i=3;i<=M;i++){

an=a2; //1,2,3
a2=a1+a2;//2,3,5
a1=an;//1,2,3

System.out.println("第"+i+"个月的兔子:"+a2);

}

}

}
温馨提示:答案为网友推荐,仅供参考
相似回答