第一种:基姆拉尔森公式:
//把一月和二月看成是上一年的十三月和十四月,
//例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<queue> #include<string> #include<cmath> using namespace std; int main() { int T; int W,d,m,y; while(cin>>y>>m>>d) { if(m == 1 || m == 2) {m=m+12;y = y-1;} W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7; cout<<W<<endl; } return 0; }