数组实现不死神兔小案例

根据如此神奇的需求(有一对兔子,从出生后第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]);				
	}
}

右键执行输出第二十个月时兔子的个数
数组实现不死神兔小案例_第1张图片

你可能感兴趣的:(Java)