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

统计每个月兔子的总数

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

#include <stdio.h>

/*
1 1 1,0,0
2 1 0,1,0
3 1+1 1,0,1
4 (1+1)+1 1,1,1 
5 (1+1+1)+(1+1) 2,1,2
6 3,2,3
*/

/*
思路1:状态法;出生的每只兔子有三个状态,第一个月,第二个月,第三个月及以后,建立一个数组arr[3],每到一个新月arr[2]+=arr[1]; arr[1]=arr[0]; arr[0]=原arr[2]+arr[1]; 
//似乎是两种状态第一个月(这个月不生),第二个月(这个月不生),第三个月(这个月生)
arr[0]
*/


int CalRubbitSum(int n)
{
    int rabb[3]={1,0,0};
    for(int i=1;i<=n-1;i++)//i<=n-1,因为i进去,出来的就是i+1月的结果
    {
        //int prev_rabb2=rabb[2]+rabb[1];//上个月是第二个月的这个月也可以生了
        rabb[2]+=rabb[1];
        rabb[1]=rabb[0];
        rabb[0]=rabb[2];
    }
    return rabb[0]+rabb[1]+rabb[2];
}

int main()
{
    int n=6;
    scanf("%d",&n);
    printf("%d",CalRubbitSum(n));
    return 0;
}

全部评论

相关推荐

鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
实习吐槽大会
点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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