文章

【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 进行授权