面试算法题:有一对兔子,从出生后第3个月起每个月都生一对兔子

来源:互联网 发布:win10更改Mac 编辑:程序博客网 时间:2024/04/30 02:50


题目是网上找的
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?


关键思路:第n个月比第n-1个月多的是有生兔子能力的兔子个数,而有能力生育的兔子个数是n-2个月的兔子数(这些兔子在第三个月可以生育)。
所以fn=fn-1+fn-2
这是典型的Fibonacci
它的通项公式为:[(1+√5)/2]^n /√5 - [(1-√5)/2]^n /√5 【√5表示根号5】

直接计算这个公式即可。

如果不会计算,就去看看Fibonacci或者补习一下高数的数学归纳法。


代码略。

1 0
原创粉丝点击