兔子繁殖问题c语言答案,递推法 (逻辑思维)兔子的繁殖问题.有一对兔子,从出生后第三个月起每两个月都生一对小兔,小兔长到第三个月后每两个月又生一对兔子,假如兔子都不死,问到第20个月时兔子总数为多少?...

---0--1--2--奇--偶

0--1--0--0--0---0

1--0--1--0--0---0

2--0--0--1--0---0

3--1--0--0--1---0

4--0--1--0--0---1

5--1--0--1--1---0

6--1--1--0--1---1

7--1--1--1--1---1

8--2--1--1--2---1

9--2--2--1--2---2

10--3--2--2--3---2

11--4--3--2--4---3

12--5--4--3--5---4

13--7--5--4--7---5

14--9--7--5--9---7

15--12--9--7--12--9

16--16--12--9--16--12

17--21--16--12--21--16

18--28--21--16--28--21

19--37--28--21--37--28

20--49--37--28--49--37

根据上表可知,二十个月后共有49+37+28+49+37=200只兔子

---------------------------

Notes:

(1)0,1,2,奇,偶分别代表刚出生,出生一个月,出生两个月(没生过,将要生兔子),刚生完兔子,生过并且将要再生兔子的兔子数目;

(2)刚出生的兔子数应该等于上个月将要生兔子的兔子(包括生过的和没生过的)之和;

(3)出生一个月的兔子数应该等于上个月刚出生的兔子数;

(4)出生两个月的兔子数应该等于上个月出生一个月的兔子数;

(5)刚生完兔子的兔子数应该等于上个月将要生兔子的兔子(包括生过的和没生过的)之和;

(6)生过并且将要再生兔子的兔子数应该等于上个月刚生完兔子的兔子数,也等于上个刚出生的兔子数.

---------------------------

如果要编程来解决这个问题,可以用两个包含5个元素的一维数组来表示相邻两个月处于不同状态的兔子数间的数量变化关系,比如说数组a描述上个月的兔子分布,数组b描述这个月的兔子分布,那么条件(2)可以表示为 b[0]=a[2]+a[4],其它条件类似转换.然后再用一个20步的for循环语句求出二十个月后的兔子分布,再求和即可.有一点要注意,在循环体末尾应该有一个交换数组a,b的语句.

解析看不懂?求助智能家教解答查看解答

更多答案(2)

vC2sH+pqwAAAABJRU5ErkJggg==

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值