生兔子是一个古老又经典的算法题,题目如下
有1只兔子,第三个月开始每个月会生下1只兔子,生下来的兔子在它的第三个月又会生出一只兔子,以此类推第n个月有多少只 兔子
我们可以简单列一下月份和兔子数
月 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
兔子数 | 1 | 1 | 2 | 3 | 5 | 8 | 13 |
当然这种数据还可以继续往后写很多,我们主要找他们的规律
前两个月原始兔子不会生育,没有异议,第三个月开始它生了一只兔子,也就是1+1,有2只兔子,注意红色的兔子下个月不会生育,所以第四个月的兔子总数为1+1+1,有3只兔子,红色的是刚出生的,青色的是上个月出生的,青色兔子在下个月就可以生小兔子了,所以第五个月的兔子总数是1+1+1+2,这里上个月青色的兔子由于可以生育了,我把它变成黑色的1,而上个月红色的,我变成了青色的1标识它下个月可以生兔子了,