【题目】
假设今天是星期日,那么过 \(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