一本通题库1083 计算星期几
【题目描述】
假设今天是星期日,那么过abab天之后是星期几?
【输入】
两个正整数aa,bb,中间用单个空格隔开。0<a≤100,0<b≤100000<a≤100,0<b≤10000。
【输出】
一个字符串,代表过abab天之后是星期几。
其中,MondayMonday是星期一,TuesdayTuesday是星期二,WednesdayWednesday是星期三,ThursdayThursday是星期四,FridayFriday是星期五,SaturdaySaturday是星期六,SundaySunday是星期日。
【输入样例】
3 2000
【输出样例】
Tuesday
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{
long long int a,b,c,d;
cin>>a>>b;
c=a;
d=a;
for(int i=1;i<b;i++)
{
a=d;//存储a的值,防止a变化
a=c*a;//此为点睛之笔,若真的暴力直接用pow函数,3的2000次方早炸了,所以不可行。此题意为找余数,那么只要找到余数就行了。本数和余数跟别的数相乘得到的余数没有区别,所以直接对每一步取余,可以简单许多
c=a%7;//一星期七天,取7
}
if(c==1)
cout<<"Monday";
if(c==2)
cout<<"Tuesday";
if(c==3)
cout<<"Wednesday";
if(c==4)
cout<<"Thursday";
if(c==5)
cout<<"Friday";
if(c==6)
cout<<"Saturday";
if(c==0)
cout<<"Sunday";
return 0;
}