生兔子問題(遞迴思想)
阿新 • • 發佈:2019-01-01
有一對兔子,從出生後第四個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子。假如兔子都不死,計算第十個月兔子的總數?
分析: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)); } } }