OneCoder Avatar
OneCodercoderli.com · 960 篇博文
一级

C++ 算法考级专栏

真题分析、矩阵探测、递归回溯与基础语法

🎨 视觉封面

【GESP】C++一级练习 luogu-P1424, 小鱼的航程(改进版)

📅 2024-11-27·✍️ OneCoder·计算中...·⏱️ 3 分钟
#GESP#C++#基础语句

GESP一级综合练习,难度★☆☆☆☆。

luogu-P1424

题目要求

题目描述

有一只小鱼,它平日每天游泳 250250 公里,周末休息(实行双休日),假设从周 xx 开始算起,过了 nn 天以后,小鱼一共累计游泳了多少公里呢?

输入格式

输入两个正整数 x,nx,n,表示从周 xx 算起,经过 nn 天。

输出格式

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

样例输入 #1

CONSOLE 1 行
3 10

样例输出 #1

CONSOLE 1 行
2000

数据范围

数据保证,1x71\le x \le 71n1061 \le n\le 10^6


题目分析

本题目要求我们根据输入的周几和经过的天数,计算小鱼累计游泳的总距离。根据题目描述:

  • 首先,我们需要读取输入的两个正整数,分别表示从周几开始(1到7)和经过的天数。
  • 接着,初始化一个变量用于存储累计游泳的总距离,初始值为0。
  • 然后,使用一个循环遍历经过的天数。在每一天中,我们需要判断当前是工作日还是周末:
    • 如果是工作日(周一到周五),则将250公里累加到总距离中。
    • 如果是周末(周六或周日),则不进行累加。
  • 在循环中,我们还需要更新当前的周几,确保在每次迭代中正确地移动到下一天。
  • 最后,输出小鱼累计游泳的总距离。

示例代码

C++ 24 行
#include <iostream>
using namespace std;

int main() {
    int a, b; // a: 从周几开始,b: 经过的天数
    cin >> a >> b; // 读取输入的周几和天数
    int max = 0; // 初始化累计游泳距离为0

    // 循环遍历经过的天数
    for (int i = 0; i < b; i++) {
        // 如果当前是工作日(不是周六或周日),则累计游泳距离
        if (a != 6 && a != 7) {
            max += 250; // 每个工作日游泳250公里
        }
        // 如果当前是周日,重置为周一
        if (a >= 7) {
            a = 1; // 重置为周一
        } else {
            a += 1; // 否则,进入下一天
        }
    }
    cout << max; // 输出累计游泳距离
    return 0; // 程序结束
}

💡 OneCoder 资源指引

所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI

🤝 技术交流与答疑

欢迎加入:C++ GESP/CSP 考级答疑群(688906745)Java/Python交流群(982860385),点击可直接加群。

📚

猜你想读 · 相关文章推荐

OneCoder

OneCoder (lihongzheshuai)

一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com

读者讨论与留言

0 条讨论
✨ 支持点击留言直接回复 · Markdown 引用格式
💬 还没有读者留言,快来成为第一个讨论者吧!