递推法 (逻辑思维)

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:29:37
兔子的繁殖问题。有一对兔子,从出生后第三个月起每两个月都生一对小兔,小兔长到第三个月后每两个月又生一对兔子,假如兔子都不死,问到第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个元素的一维数组来表示相邻两个月处于不同状态的兔子数间的数量变化关系,