用模拟的方法算很繁琐,而且很容易出错。
其实可以用蔡勒公式,快速求某一天是星期几。
#include<cstdio>
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
bool isLeapYear(int y)
{
return ( (y%100!=0)&&(y%4==0) ) || (y%400==0);
}
//0=Monday..6=Sunday
int getweekdays(int y, int m, int d)
{
//一二月份看成前一年的13、14月份
if(m==1 || m==2 )
{
m+=12;
--y;
}
return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
}
int main()
{
int t,m,y,d;
scanf("%......
阅读全文