解题思路:首先应该是找出年份见母牛数量之间的关系

    成熟 1年 2年 3年  总数

1年 1                 1

2年 1    1            2       

3年 1    1    1       3

4年 1    1    1   1   4

5年 2    2    1   1   6

6年 3    3    2   1   9

7年 4    4    3   2   13

8年 6    6    4   3   19

关系式:今年母牛数量=去年母牛数量+大前年母牛数量

例:第五年母牛数量=第四年母牛数量+第二年母牛数量


参考代码:

#include <stdio.h>

//和斐波纳契数列有相似之处 

int main()

{

    int i=0,j;

    int n[50],a[100];//n[10]保存输入的数据,a[30]保存各年母牛数量 

    a[0]=1;a[1]=2;a[2]=3;a[3]=4;

    while(scanf("%d",&n[i])){//输入几个年数 

    if(n[i]==0)break;

    ++i;

    }

    i=0;

    while(n[i]!=0)//求第n[i]年的母牛数量 

    {

        if(n[i]<=4)//前四年年数和母牛数量一致 

        {

            printf("%d\n",a[n[i]-1]);

        }

        else if(n[i]>4)//超过四年,前一年和前三年的母牛数量和 是今天的母牛数量 

        {

            for(j=5;j<=n[i];++j)

            {

                a[j-1]=a[j-2]+a[j-4];

            }

            printf("%d\n",a[n[i]-1]);

        }

        ++i;

    }


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论