题目大意:
给出年月日,推算这一天是星期几
分析:
蔡勒公式:(只适用于1582年10月15日之后的日期)
w = y + y/4 + c/4 - 2*c + 26 * (m+1)/10 + d - 1
y:年份的后两位
c:年份/100
m:月份(他比较特殊>_<…如果是1月或者2月,m+=12,y–)
d:日期
代码如下:
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int c,m,y,d,ans;
char s[7][10]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
signed main(void){
scanf("%d%d%d",&y,&m,&d);
if(m<3)
m+=12,y--;
c=y/100,y%=100,ans=y+y/4+c/4-2*c+26*(m+1)/10+d-1;
cout<<s[(ans%7+7)%7]<<endl;
return 0;
}
by >_< neighthorn