假设今天是星期日,那么若干天之后是星期几?

2021年8月23日 | 分类: 【编程】

【题目】

假设今天是星期日,那么过 \(a^b\) 天之后是星期几?

输入:

两个正整数a,b,中间用单个空格隔开。0<a≤100,0<b≤100000 。

输出:

一个字符串,代表过 \(a^b\) 天之后是星期几。

其中,Monday是星期一,Tuesday是星期二,Wednesday是星期三,Thursday是星期四,Friday是星期五,Saturday是星期六,Sunday是星期日。

输入样例:

3 2000

输出样例:

【解析】

思路:循环节是7,每次循环对7取余。

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    int result = 1;
    for(int i=0; i<b; i++){
        result *= a;
        result %= 7; //每次对7取余,结果用于判断星期几
    }
    switch(result){
        case 1: cout<<"Monday";break;
        case 2: cout<<"Tuesday";break;
        case 3: cout<<"Wednesday";break;
        case 4: cout<<"Thursday";break;
        case 5: cout<<"Friday";break;
        case 6: cout<<"Saturday";break;
        default: cout<<"Sunday";break;
    }
    return 0;
}

参考:https://blog.csdn.net/bailang_1314/article/details/105447817
参考:https://blog.csdn.net/tianli315/article/details/94968906