(●—●)404 2021-12-27 20:43 采纳率: 100%
浏览 149
已结题

洛谷 P1424 小鱼的航程(改进版)老是有两个过不去

问题遇到的现象和发生背景

洛谷 P1424 小鱼的航程(改进版)
题目描述
有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周 x (1≤x≤7) 开始算起,过了 n(n≤10^6) 天以后,小鱼一共累计游泳了多少公里呢?

输入格式
输入两个整数x,n(表示从周x算起,经过n天)。

输出格式
输出一个整数,表示小鱼累计游泳了多少公里。

输入输出样例
输入 输出
3 10 2000

问题相关代码,请勿粘贴截图
#include<stdio.h>
int main(void)
{
    int n, x, t;
    scanf("%d %d", &x, &n);
    unsigned long long journey = (6 - x) * 250;
    t = n - 8 + x;
    if (t <= 0) {
        printf("%lld", journey);
    }
    else
    {
        while (t > 0) {
            if (t > 7) {
                journey += 5 * 250;
                t -= 7;
            }
            else if (t <= 7 && t > 5) {
                journey += 5 * 250;
                break;
            }
            else {
                journey += t * 250;
                break;
            }
        }
        printf("%lld", journey);
    }
    return 0;
}

运行结果及报错内容

img

  • 写回答

2条回答 默认 最新

  • 关注

    当n<6-x的时候,计算结果是错误的。代码修改如下:

    #include<stdio.h>
    int main(void)
    {
        int n, x, t;
        scanf("%d %d", &x, &n);
        unsigned long long journey =0;
        if(6-x > n)
        {
            journey = n*250;
            printf("%lld",journey);
            return 0;
        }
        else if(6-x>0)
            journey = (6 - x) * 250;
        t = n - 8 + x;
        if (t <= 0) {
            printf("%lld", journey);
        }
        else
        {
            while (t > 0) {
                if (t > 7) {
                    journey += 5 * 250;
                    t -= 7;
                }
                else if (t <= 7 && t > 5) {
                    journey += 5 * 250;
                    break;
                }
                else {
                    journey += t * 250;
                    break;
                }
            }
            printf("%lld", journey);
        }
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分