**
zoj 3785 What day is that day?
**
What day is that day?
Time Limit: 2 Seconds Memory Limit: 65536 KB
It’s Saturday today, what day is it after 11+22+33+...+NN days?
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:
There is only one line containing one integer N (1 <= N <= 1000000000).
Output
For each test case, output one string indicating the day of week.
Sample Input
2
1
2
Sample Output
Sunday
Thursday
Hint
A week consists of Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday.
Author: ZHOU, Yuchen
Source: The 11th Zhejiang Provincial Collegiate Programming Contest
/*zoj 3785*/
#include<stdio.h>
#include<math.h>
int a[7]={0,1,4,6,4,3,1};
long long b[294]={0,1,4,6,4,3,1};
long long c[294]={6};
int main()
{
for(int i=7;i<294;i++)
{
b[i]=b[i-7]*(i%7)%7;
}
for(int i=1;i<294;i++)
{
c[i]=(c[i-1]+b[i])%7;
}
int t;
scanf("%d",&t);
while(t--)
{
long long shu;
scanf("%lld",&shu);
int ans=shu%294;
if(c[ans]==0)
printf("Sunday\n");
else if(c[ans]==1)
printf("Monday\n");
else if(c[ans]==2)
printf("Tuesday\n");
else if(c[ans]==3)
printf("Wednesday\n");
else if(c[ans]==4)
printf("Thursday\n");
else if(c[ans]==5)
printf("Friday\n");
else if(c[ans]==6)
printf("Saturday\n");
}
return 0;
}