有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问第二十个月的兔子对数为多少?
首先我们需要需求分析,
第一个月:1对
第二个月:1对
第三个月:2对
第四个月:3对
第五个月:5对
第N个月:第(N-2)个月+第(N-1)个月
思路:
1:为了存储多个月的兔子对数,定义一个数组,用动态初始化完成数组元素的初始化,长度为20
2:因为第1个月,第2个月兔子的对数是已知的,都是1,所以数组的第1个元素,第2个元素值也都是1
3:用循环实现计算每个月的兔子对数
4:输出数组中最后一个元素的值,就是第20个月的兔子对数
public static void main(String[] args) {
//为了存储多个月的兔子对数,定义一个数组,用于动态初始化完成数组元素的初始化,长度为20
int []arr=new int[20];
//因为第一个月,第二个月兔子数已知,都是1,所以数组的第一个元素,第二个元素值都是1
arr[0]=1;
arr[1]=1;
//用循环实现计算每个月的兔子对数
for (int i = 2; i < arr.length ; i++) {
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("第十二个月兔子的对数是:"+arr[19]);
}