题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子不死,问第二十个月的兔子对数为多少?
题目分析:
第一个月兔子对数 1
第二个月兔子对数 1
第三个月兔子对数 2(第三个月开始每月都生新兔子)
第四个月兔子对数 3
第五个月兔子对数 5(老兔子+每月的新兔子+第三个月的小兔子又生了兔子)
第六个月兔子对数 8(+第四月的新生兔子+每月的新兔子数2)
。
。
。
以此类推,发现规律:1+1=2,1+2=3,2+3=5,3+5=8 …
程序分析:
利用数组arr[]存储兔子对数;
利用for循环实现兔子对数的计算;
arr[i]=arr[i-1]+arr[i-2]
代码实现
public static void main(String[] args) {
//定义一个数组,用动态初始化完成数组元素的初始化,长度为20
int []arr=new int[20];
arr[0]=1;
arr[1]=1;
//for循环实现兔子对数的计算
for(int i=2;i<arr.length;i++) {
arr[i]=arr[i-2]+arr[i-1];
}
System.out.println("第二十个月兔子的对数是:"+arr[19]);
}
运行结果

这是一个关于兔子繁殖的数学问题,兔子从第三个月开始每月生一对新的兔子。问题求解第二十个月的兔子对数。通过分析发现每对兔子的后代数量遵循斐波那契数列规律。程序通过数组和递推公式计算出结果。
1035

被折叠的 条评论
为什么被折叠?



