題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子對數為多少?
分析:假如:1月1日有1對兔子,根據題目“從出生后第3個月起每個月都生一對兔子”即3月1日這對兔子產子一對由此可推出一對兔子從出生到產子的時間為每兩個月一次,從第二對兔子開始,后續兔子的產子時間相同由此可得出以下的兔子數規律 兔子的規律為1,1,2,3,5,8,13,21....
從第3月開始,每月兔子的總數等於上兩月兔子總數之和
總數量 1 1 2 3 5 8 13 21
月份 1月 2月 3月 4月 5月 6月 7月 8月
A A1 A2 A3 A4 A5 A6
兔 A1-1 A1-2 A1-3 A1-4
子 A2-1 A2-2 A2-3
族 A3-1 A3-2
譜 A1-1-1 A4-1
A1-1-2
A1-2-1
A1-2-1
A2-1-1
1 public class Prog1 { 2 public static void main(String[] args) { 3 int Month=8; 4 System.out.println("第"+Month+"月,兔子的總對數有:"+Sum(Month)+"對"); 5 } 6 private static int Sum(int Month) { 7 if(Month==1||Month==2) {//第1月和第2月單獨計算 8 return 1; 9 }else { 10 return Sum(Month-1)+Sum(Month-2);//從第3月開始,每月兔子的總數等於上兩月兔子總數之和 11 } 12 } 13 } 14 /*程序編譯運行的結果如下: 15 第8月,兔子的總對數有:21對 16 */