也谈一下关于兔子的问题

看大家讨论的那么激烈,也来试一下,

原地址:http://www.cnblogs.com/zuozuo/archive/2011/09/18/2180426.html

题目:

一对小兔子一年后长成大兔子;一对大兔子每半年生一对小兔子。大兔子的繁殖期为4年,兔子的寿命是6年。假定第一年年初投放了一对小兔子,试编程计算,第n年末总共会有多少对兔子。n由键盘输入。(用递归哦)

 

刚开始搞不清楚"繁殖期为4年"是什么意思,最后想了一下应该是可以生四年的小兔吧。不过不知道为什么博主的程序中只有6.5年,而不是7年,如果是6.5年,那也是84只,看一下载图先

 

 

下面是程序:

 

 1  int Year =  7;
 2          int[] rabArr =  new  int[ 12];
 3          double a =  0;
 4 
 5          private  void Rabbit( int year)
 6         {
 7              if (year <=  0)
 8             {
 9                  return;
10             }
11 
12              int newRabbit =  0;
13 
14              for ( int i =  11; i >  0; i--)
15             {
16                  if (i >=  2 && i <=  9)
17                 {
18                     newRabbit += rabArr[i];
19                 }
20                 rabArr[i] = rabArr[i -  1];
21             }
22             rabArr[ 0] = newRabbit;
23             Rabbit(year -  1);
24         }
25 
26 因为是以半年为单位,所以调用时就这样
27  rabArr[ 0] =  1// 初始化
28 
29 调用,
30  Rabbit(Year *  2);
31 最后数组rabArr 中全部加起来即为总和。

 

 

转载于:https://www.cnblogs.com/benwu/archive/2011/09/21/2184531.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值