3 条题解

  • 1
    @ 2025-1-29 20:39:15

    luogu#B3921. [GESP202312 一级] 小杨的考试 题解

    题意

    题意十分明显,今天是星期 xx,求第 nn 天后是星期几。

    思路

    根据样例 11

    今天是星期一,过 66 天,很明显是星期日。

    似乎,可以直接加上过了几天就行了。

    根据样例 22

    今天是星期五,过 33 天,是星期一。

    这里,我们发现,因为 5+3>85 + 3 > 8,所以并不这么简单,我们还需要对 5+35 + 3,进行 mod 7mod\ 7 的操作,例如样例 22(5+3) mod 7=1(5 + 3)\ mod\ 7 = 1

    可以得出代码 day = (today + after_day) % 7;

    但此时还有一个问题,样例一中的数据,会使 day = 0,而不是 77,这时,就需要手动判断一下。

    完整代码

    #include <iostream>
    
    using namespace std;
    
    int main () {
        int today, after_day;
        cin >> today >> after_day;
        int day = (today + after_day) % 7;
        if (day == 0)
            cout << 7 << endl;
        else
            cout << day << endl;
        return 0;
    }
    

    信息

    ID
    4937
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    84
    已通过
    25
    上传者