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 }