题解 | #统计每个月兔子的总数#

统计每个月兔子的总数

http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395

这个递归理解起来有点困难,我尝试说下我的理解,刚开始我没读懂题意,老是纠结3个月后生兔子这里,想去考虑3月怎么生,这里只需要理解成1月一个三月就变成两个了,好了现在可以给兔子分种类了,一个月的是小兔子,二个月的是中兔子,三个月的是大兔子

我们尝试着从n个月开始能不能推出n+2个月的兔子;我们假设n个月的兔子从小到大分别有{a,b,c},可以推出n+1个月有小中大依次为{b+c,a,b+c},n+2个月是{a+b+c,b+c,a+b+c},可以看到他的规律就是斐波那契了,我记得很早以前就说兔子繁殖的数量就是斐波那契,好像还有某些植物的叶子等哈哈,所以直接递归就好了。

#include <algorithm>

using namespace std;

int count(int n){
    if(n==1||n==2)
        return 1;
    else return (count(n-1)+count(n-2));
    
}

int main() {
    int N;
    while(cin>>N){
        
         N=count(N);
        
        cout<<N;
    }
}
全部评论

相关推荐

09-19 12:15
门头沟学院 Java
迷茫的大四🐶:这下是真的打牌了,我可以用感谢信和佬一起打牌吗
点赞 评论 收藏
分享
渴望wlb的牛油果很...:直说卡第一学历不就行了 非得拐弯抹角
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务