【GESP】C++一级真题练习(202312)luogu-B3921,小杨的考试
GESP一级真题练习。为2023年12月一级认证真题。逻辑计算问题。
luogu-B3921
题目要求
描述
今天是星期 X,小杨还有 N 天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用 7 表示星期日)
输入
输入 2 行,第一行一个整数 X(1≤X≤7);第二行一个整数 N(1≤N≤364)。
输出
输出一个整数,表示小杨考试那天是星期几。
输入样例-1
1
6
输出样例-1
7
输入样例-2
5
3
输出样例-2
1
题目分析
直接的思路,当前星期数 + N天数,然后对7取余,余数是几就是星期几。
当然根据题目要求,星期天用7来表示。那么就是余数是0的时候,输出7即可。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int ans = (a + b) % 7;
if (ans == 0) {
ans = 7;
}
cout << ans;
return 0;
}
另外一种解题思路,是孩子的,先算增加的天数取余7,因为7天一个循环,星期不变,然后加上原来的星期,再看是不是大于7,处理一下即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int i = b % 7;
int j = a + i;
if (j > 7) {
j -= 7;
}
cout << j;
return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权