Kevin


私信TA

用户名:137310853

访问量:9456

签 名:

大自然的搬运工

等  级
排  名 2226
经  验 2313
参赛次数 2
文章发表 8
年  龄 19
在职情况 学生
学  校 东莞理工学院
专  业 软件工程

  自我简介:

排名全靠刷 代码全靠偷

解题思路:
先将母牛分为:大母牛、一岁母牛、二岁母牛、三岁母牛;

用四个变量存起来,用循环每年更新一次四个变量,结束循环后所有母牛的数量就是四个变量之和;

思路简单,算法高效,O(n)。

参考代码:

#include <stdio.h>
int cowNum(int n);

int main()
{
    int n;
    while(scanf("%d", &n) && n)
        printf("%d\n", cowNum(n));
    return 0;
}

int cowNum(int n)
{
    if(n <= 4)
        return n;
    int childCow1 = 1, childCow2 = 1, childCow3 = 1, momCow = 1;
    for(int i = 5; i <= n; i++)
    {
        momCow += childCow3;
        childCow3 = childCow2;
        childCow2 = childCow1;
        childCow1 = momCow;
    }
    return childCow1 + childCow2 + childCow3 + momCow;
}


 

0.0分

0 人评分

  评论区

呃。。。。。。。。
2018-04-09 22:11:03
大神kevin就是不一样,不是一般初学者能比及的
2017-12-06 20:15:50
好赞!
2017-12-05 09:57:01
6666666666
2017-10-30 08:19:11
都是好题解啊!
2017-10-15 20:20:07
666
2017-10-11 19:43:35
  • «
  • 1
  • »