#include <iostream>
#include <string>
using namespace std;
//题目已知1年1月1日为星期一
string week[7] = { "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday" };
int Whenday(int y,int m,int d)
{
int day = 0;
//判断年过了几个七天
for (int i =1; i < y; i++)//计算年份过了多少七天的余数
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
{
day += 366 % 7;
}
else {
day += 365 % 7;
}
day %= 7;
}
for (int i = 1; i < m; i++)//计算月份过了多少七天的余数
{
if (i == 1 || i == 3 || i== 5 || i == 7 || i == 8 || i == 10 || i == 12) {
day += 31 % 7;
}
else if(y%4==0&&y%100!=0&&i==2||y%400==0&&i==2){
day += 29 % 7;
}
else if(y % 4 != 0 && i == 2 || y % 400 != 0 && i== 2) {
day += 28 % 7;
}
else {
day += 30 % 7;
}
day %= 7;
}
day += (d - 1) % 7;//计算日过了多少七天的余数
day %= 7;//取余
return day;
}
int main()
{
int y, m, d;
cin >> y >> m >> d;
cout << week[Whenday(y, m, d)]<<endl;
return 0;
}
代码演示: