1. 程式人生 > >生兔子問題(遞迴思想)

生兔子問題(遞迴思想)

有一對兔子,從出生後第四個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子。假如兔子都不死,計算第十個月兔子的總數?

分析:F(N) = f(n-1)+ f(n-3)。可以運用遞迴來解決問題。

當出生後第三個月開始生兔子: F(N) = f(n-1)+ f(n-2)

出生後第二個月開始生兔子:  F(N) = f(n-1)+ f(n-1) = 2*F(n-1)

出生後第一個月開始生: !!!一個月就會生的全宇宙都是兔子。。。。

程式碼:

import java.util.Arrays;
import java.util.Scanner;
public class Main {
	
	public static int f(int n){
		if(n==1 || n==2||n==3){
			return 1;
		}
		return f(n-1)+f(n-3);
	}
	public static void main(String[] args) {
		
		for (int i = 1; i < 11; i++) {
			System.out.println(f(10));
		}
		
	}
}