1. 程式人生 > >java經典題丨有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總對數為多少?

java經典題丨有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總對數為多少?

兔子問題,習題練習:

public class Rubbit {

	public static void main(String[] args) {

	Scanner sc = new Scanner(System.in);
	System.out.print("請輸入月份");
	int n = sc.nextInt();
	System.out.println("在"+n+"月份有"+fun(n)+"對兔子");
	}
	private static int fun(int n) {
		if (n == 1 || n == 2)     //  表示第1月,第2月的對數
			return 1;
		else
			return fun(n - 1) + fun(n - 2);  // 3月之後該怎麼算
	}

}

兔子問題,最開始犯了一個巨大的錯誤,一直在推到它的公式,既然不是個數學家,對它的公式進行利用就可以了;一直總是在糾結電腦會怎麼知道F(n)=F(n-1)+F(n-2),也就是F(n-1)表示的是n的前一個月的兔子對數,F(n-2)表示的是n的前兩個月的兔子對數;

所以最後要做的就是如何將程式碼寫出來,最終的是判斷1、2月份,之後就是3月份之後了。

人生格言:不要指望事情會更容易,只能指望自己更強大