基础算法题----兔子问题(斐波那契数列)

基础算法题—-兔子问题

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

首先分析:
基础算法题----兔子问题(斐波那契数列)_第1张图片
由此可以看出兔子增长的的规律为1、1、2、3、5、8符合斐波那契数列的规律
根据斐波那契数列的计算公式
F(0)=0
F(1)=1
F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
使用递归编程可得:

public int  compute(int month){
        if (month<2) {
            return month<=0?0:1;
        }
        return compute(month-1)+compute(month-2);
    }

以上代码得出的是共有多少对兔子,所以只要在结果上乘以2便可知道共有多少只兔子。

PS:以上如若有错误,还望不吝指正。

你可能感兴趣的:(算法)