问题如下:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
关于案例,博主认为动手前的准备工作最为重要,正确的思路不仅可以节省时间,也能维持一个好心态。舒服的敲代码。
思路如下:
1:为了存储多个月的兔子对数,定义一个数组,用动态初始化完成数组元素的初始化,长度为20
2:因为第1个月,第2个月兔子的对数是已知的,都是1,所以数组的第1个元素,第2个元素值为1
3:用循环实现计算每个月的兔子对数
4:输出数组中最后一个元素的值,就是第20个月的兔子对数
代码如下:
package shuzu;
public class shuzu06 {
public static void main(String[] args) {
// 为了存储多个月的兔子对数,定义一个数组,用动态初始化完成
// 数组元素的初始化,长度为20
int[]arr = new int[ 20];
//因为第1个月,第2个月兔子的对数是已知的,都是1,
// 所以数组的第1个元素,第2个元素值也都是1
int [] arr = new int [20];
arr[0] = 1;
arr[1] = 1;
// arr[3] = arr[1] + arr[2]; 我们也可以不用循环,按照规律,以左边形式继续敲写
// arr[4] = arr[2] + arr[3];
//用循环实现计算每个月的兔子对数
for(int x=2;x<arr.length;x++) {
arr[x] = arr[x-2] + arr[x-1];
}
//输出数组最后一个元素值,也就是第20个月的兔子对数
System.out.println("第20个月的兔子对数:" + arr[19]);
}
}