1. 程式人生 > >不死兔(斐波那契數列)

不死兔(斐波那契數列)

public static void main(String[] args) {
	/**
	 * 需求:有一對兔子,從出生後第3個月起每個月都生一對兔子,
	 * 小兔子長到第三個月後每個月又生一對兔子,
	 * 假如兔子都不死,問第二十個月的兔子對數為多少?
	 * 
	 * 規律是這樣的
	 * 第一月   共有1對兔子
	 * 第二月   共有1對兔子
	 * 第三月   共有2對兔子 (新生1對)
	 * 第四月   共有3對兔子 (又新生1對,第二對新生兔子)
	 * 第五月   共有5對兔子 (最老的那一對生了一對,第三月出生的兔子也生了一對)
	 * 第六月   共有8對兔子 (最老的那一對生了一對,第三月出生的兔子也生了一對,第四月出生的兔子也生了)
	 * 
	 */
	//定義長度為20的陣列,代表20個月。
	int [] arr=new int[20];
	//第一個月有一對兔子
	arr[0]=1;
	//第二個月有一對兔子
	arr[1]=1;
	//第三個月有2對兔子
	arr[2]=2;
	for(int i=2;i<arr.length;i++) {
		arr[i]=arr[i-1]+arr[i-2];
	}
	System.out.println(arr[19]);
}