Java50道經典習題-程序1 不死神兔


題目:古典問題:有一對兔子,從出生后第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 */

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM