java例题_01 不死神兔!

 1 /*1 【程序 1 不死神兔】 
 2 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?  
 3 程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21....  
 4 */
 5 
 6 /*
 7  * 分析:
 8  * 
 9  * 一对兔子生另一对兔子要隔2个月,
10  * 第一对兔子从第三个月开始生,每个月要生一对,N个月一共生了N-2对(N>2)
11  * 第二对兔子从第四个月开始生,N月一共生了N-4对(N>4)
12  * 第三队兔子从第五个月开始生,N月一共生了N-5对(N>5)
13  * 。。。。。
14  *         1月  2月  3月  4月   5月   6月   7月
15  *         1     1   1    1     1     1     1
16  *.第一对            3-2  4-2   5-2   6-2   7-2
17  *.第二对                       5-4   6-4   7-4
18  *.第三对                             6-5   7-5
19  *.第四对                                   7-6
20  *.第五对                                   7-6
21  *。。。。。。
22  * 
23  * 月份 1  2  3  4  5  6  7    8  。。。
24  * 对数 1  1  2  3  5  8  13  21  。。。
25  * 
26  * 
27  * 从3月开始,这个月的新生兔子数就等于上上个月的兔子数,即:这个月的兔子数量是前面两个月的和!
28 */
29 
30 
31 
32 package question_01;
33 
34 public class _01 {
35 
36     public static void main(String[] args) {
37         // TODO Auto-generated method stub
38         
39         //第一个月的兔子数量
40         int num1_tuzi=1;
41         //第二个月的兔子数量
42         int num2_tuzi=1;
43         //兔子总数
44         int count=0;
45         //总月份
46         int month=8;
47         if(month<3)
48             count=1;
49         else if(month>=3)
50         {
51             for(int i=3;i<=month;i++)
52             {
53                 count=num1_tuzi+num2_tuzi;
54                 num1_tuzi=num2_tuzi;
55                 num2_tuzi=count;
56             }
57         }
58         System.out.println("第"+month+"个月兔子的总数为:"+count);
59         
60         
61     }
62 
63 }

 

posted @ 2020-02-09 11:39  浪漫主义程序员  阅读(398)  评论(0编辑  收藏  举报