【GESP】C++一级练习 luogu-P1424, 小鱼的航程(改进版)
GESP一级综合练习,难度★☆☆☆☆。
luogu-P1424
题目要求
题目描述
有一只小鱼,它平日每天游泳 $250$ 公里,周末休息(实行双休日),假设从周 $x$ 开始算起,过了 $n$ 天以后,小鱼一共累计游泳了多少公里呢?
输入格式
输入两个正整数 $x,n$,表示从周 $x$ 算起,经过 $n$ 天。
输出格式
输出一个整数,表示小鱼累计游泳了多少公里。
样例输入 #1
1
3 10
样例输出 #1
1
2000
数据范围
数据保证,$1\le x \le 7$,$1 \le n\le 10^6$。
题目分析
本题目要求我们根据输入的周几和经过的天数,计算小鱼累计游泳的总距离。根据题目描述:
- 首先,我们需要读取输入的两个正整数,分别表示从周几开始(1到7)和经过的天数。
- 接着,初始化一个变量用于存储累计游泳的总距离,初始值为0。
- 然后,使用一个循环遍历经过的天数。在每一天中,我们需要判断当前是工作日还是周末:
- 如果是工作日(周一到周五),则将250公里累加到总距离中。
- 如果是周末(周六或周日),则不进行累加。
- 在循环中,我们还需要更新当前的周几,确保在每次迭代中正确地移动到下一天。
- 最后,输出小鱼累计游泳的总距离。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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; // 程序结束
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权