思路:找公元元年一月一日为基准,算出距离当前日期的的总和,在模7;
注意:可以根据已给出日期的星期数来决定基准那天是星期几。
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int n,y,r;
cin>>n>>y>>r;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int sum=0;
for(int i=1; i<n; i++)
{
sum+=365;
if(i%400==0||(i%4==0&&i%100!=0))
sum++;
}
if(n%400==0||(n%4==0&&n%100!=0))
a[2]++;
for(int i=1; i<y; i++)
sum+=a[i];
sum+=r;
sum--;
sum%=7;
cout<<sum+1<<endl;
}