运用 Java 解决古典问题:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月的时候又生了了一对兔子。假设兔子都没有死亡,求第二十月的总对数 。
有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月的时候又生了了一对兔子。假设兔子都没有死亡,求第二十月的总对数 。
首先我们需要找出兔子数量变化的规律,下面为月份与兔子数量的关系:
月份 | 兔子对数 |
---|---|
1 | 1 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 5 |
6 | 8 |
public class MethodDemo04 {
public static void main(String[] args) {
System.out.println("嗨客网(www.haicoder.net)\n");
// 调用获取兔子对数方法
getNumber();
}
// 创建获取兔子对数方法
public static void getNumber(){
// 创建一个数组存放兔子每个月数量
int [] arr = new int [20];
// 前两个月兔子对数都为1
arr [0] = arr [1] = 1;
for(int i = 2;i < arr.length;i++){
arr[i] = arr [i-1] + arr[i - 2];
}
// 打印第二十个月的兔子对数
System.out.println("第二十个月的兔子对数为: " + arr[19]);
}
}
运行结果如下图:
此处可以得出第二十个月时兔子的对数为 6765 对。