#include<bits/stdc++.h>
using namespace std;
int cnt[10]={6,9,6,5,5,5,5};
int pd(int y)
{
if(y%400==0||(y%4==0&&y%100!=0))
return 366;
else
return 365;
}
int main()
{
int t;
scanf("%d",&t);
int year;
while(t--)
{
int y=1928;
int d=2;
scanf("%d",&year);
if(year==y)
printf("%d\n",cnt[d]);
else
{
while(year!=y)
{
y++;
d=(d+pd(y))%7;
}
printf("%d\n",cnt[d]);
}
}
return 0;
}
一开始不知道从何开始算
其实日历找一下
开始年份的5.1是星期几就好了
然后找到规律
七天各个的放假天数
然后开始判断闰年还是平年
求余7