遞迴演算法問題: 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不會死。問: 第20個月的兔子總對數為多少?(提示:先分析兔子的增長規律)
阿新 • • 發佈:2019-02-12
遞迴演算法問題:
有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不會死。問: 第20個月的兔子總對數為多少?(提示:先分析兔子的增長規律)
程式碼:
package main;
import java.util.Scanner;
public class Works {
public static void main(String[] args) {
System.out.println("請輸入月份:");
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int rabbit = rabbit(m);
System.out.println("第" + m + "個月的兔子數目為: " + rabbit);
}
public static int rabbit(int mouth) {
if (mouth == 1 || mouth == 2) {
return 1;
}
// 上一個月的兔子數
int rabbit1 = rabbit(mouth - 1);
// 上一個月的前一個月兔子數
int rabbit2 = rabbit(mouth - 2);
return rabbit1 + rabbit2;
}
}
結果: