根据如此神奇的需求(有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?)用数组循环遍历实现不死神兔的问题:
package com.qx;
/*
* 找规律:
* 第一个月:1
* 第二个月:1
* 第三个月:2
* 第四个月:3
* 第五个月:5
* ...
*
* 规律:从第三个月开始,每个月的兔子对数是前两个月的兔子对数之和
* 第一个月和第二个月的兔子对数是1
* 分析:
* int[] arr = new int[20];
*
* arr[0] = 1;
* arr[1] = 1;
*
* arr[2] = arr[0] + arr[1];
* arr[3] = arr[1] + arr[2];
* arr[4] = arr[2] + arr[3];
* ...
*/
public class ArrayTest2 {
public static void main(String[] args) {
//定义数组
int[] arr =new int[20];
//初始化第一个月和第二个月的兔子对数c
arr[0] =1;
arr[1] =2;
//循环遍历第三个开始的兔子对数
for (int i = 2; i < arr.length; i++) {
arr[i] = arr[i-1]+arr[i-2];
}
System.out.println("第二十个月的时候,兔子对数为"+arr[19]);
}
}
右键执行输出第二十个月时兔子的个数