ZOJ3785What day is that day? 规律

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.

题目大意

今天是星期六。过了1^1+2^2 +…+n^n天,输入n,输出是星期几

解题思路

找规律,,先打表,然后搜索前几个,发现294是一个循环节!

代码;const int maxn = 300;int f[maxn];char week[7][20] = {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”,”Saturday”};int main(){int tmp = 6;for(int i = 1 ; i < 295 ; i ++) {f[i-1] = tmp;int tt = 1;for(int j = 1 ; j <= i ; j ++) {tt = (tt*i)%7;}tmp = (tmp+tt)%7;}int t;scanf(“%d”,&t);while(t–) {int n;scanf(“%d”,&n);n = n%294;printf(“%s\n”,week[f[n]]);}return 0;}

走过的路成为背后的风景,不能回头不能停留,若此刻停留,

ZOJ3785What day is that day? 规律

相关文章:

你感兴趣的文章:

标签云: