一本通题库1083 计算星期几

【题目描述】

假设今天是星期日,那么过abab天之后是星期几?

【输入】

两个正整数aa,bb,中间用单个空格隔开。0<a100,0<b100000<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;
}

原文地址:https://www.cnblogs.com/57xmz/p/12245611.html