cracker_03 2021-09-04 11:56 采纳率: 82.6%
浏览 94
已结题

计算母牛生小牛的问题,代码哪里需要改进?

Description

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

Input

输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。

Output

对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。

Sample Input

2
4
5
0
Sample Output

2
4
6


#include<stdio.h>
int main()
{
    int n;
    int sum = 1;
    while (scanf("%d",&n)!=EOF)
    {
        if (n==0)
        {
            continue;
        }
        if (n<4)
        {
            for (int i = 0; i < n; i++)
            {
                sum++;
            }
        }
        else
        {
            sum = 4;
            for (int i = 1; i <= n-3; i++)
            {
                sum += i;
            }
        }
        printf("%d\n", sum);
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 多低调 2021-09-04 12:35
    关注

    题主可以参考参考我的代码
    🙌

    int main()
    {
        //                    .            .            .
        //年数:1      2     3      4        5      6   7      8       9    10
        //头数;1      1      1      2        3      4      6      9      13    19
        //       num1 num2  num3  num4  
        //               num1   num2  num3  num4
        //其实规律就是:相隔两年的牛数相加等于后一年的牛数
        //num1年的牛数+num3年的牛数==num4年的牛数
        //将num1,num2,num3,num4当成一体的,每年往后一起移动一个位置
        int num1 = 1, num2 = 1, num3 = 1, num4;//牛数
        int n;//年数
        printf("请输入第几年:\n");
        scanf("%d", &n);
        if (n <= 3)
            printf("只有一头牛!\n");
        else
            for (int i = 1; i <= n-3; i++)//前三年不算,所以减去才对
            {
                num4 = num1 + num3;
                num1 = num2;
                num2 = num3;
                num3 = num4;
            }
        printf("在第%d年的时候有牛%d头", n, num4);
        return 0;
    }
    
    

    望采纳😘

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月12日
  • 已采纳回答 9月4日
  • 修改了问题 9月4日
  • 创建了问题 9月4日

悬赏问题

  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动