#include using namespace std;int main(){ int D,M,Y,A; cout>Y>>M>>D; if((M==1)||(M==2)) //1,2月当作前一年的13,14月 {M+=12;Y--; } if((Y<1752)||((Y==1752)&&(M<9))||((Y==1752)&&(M==9)&&(D<3))) //判断是否在1752年9月3日之前A=(D+2*M+3*(M+1)/5+Y+Y/4+5)%7; //1752年9月3日之前的公式 elseA=(D+2*M+3*(M+1)/5+Y+Y/4-Y/100+Y/400)%7; //1752年9月3日之后的公式 cout<<A+1<<endl; return 0;}这个可以准确计算星期几,输出的1-7,代表星期1至星期天. |