您的位置:首页 > 其它

hdu1452(数论入门)

2015-08-02 09:57 225 查看
Description

Consider a positive integer X,and let S be the sum of all positive integer divisors of 2004^X. Your job is to determine S modulo 29 (the rest of the division of S by 29).

Take X = 1 for an example. The positive integer divisors of 2004^1 are 1, 2, 3, 4, 6, 12, 167, 334, 501, 668, 1002 and 2004. Therefore S = 4704 and S modulo 29 is equal to 6.

Input

The input consists of several test cases. Each test case contains a line with the integer X (1 <= X <= 10000000).

A test case of X = 0 indicates the end of input, and should not be processed.

Output

For each test case, in a separate line, please output the result of S modulo 29.

Sample Input

1
10000
0


Sample Output

6
10


打表

,谁有好方法自由提供!!

#include <iostream>
#include<memory.h>
using namespace std;

int main()
{
int n;
while(cin>>n&&n!=0)
{
switch(n%28)
{
case 1:cout<<6<<endl;break;
case 2:cout<<16<<endl;break;
case 3:cout<<8<<endl;break;
case 4:cout<<10<<endl;break;
case 5:cout<<25<<endl;break;
case 6:cout<<7<<endl;break;
case 7:cout<<14<<endl;break;
case 8:cout<<3<<endl;break;
case 9:cout<<23<<endl;break;
case 10:cout<<17<<endl;break;
case 11:cout<<3<<endl;break;
case 12:cout<<17<<endl;break;
case 13:cout<<0<<endl;break;
case 14:cout<<27<<endl;break;
case 15:cout<<7<<endl;break;
case 16:cout<<14<<endl;break;
case 17:cout<<15<<endl;break;
case 18:cout<<17<<endl;break;
case 19:cout<<26<<endl;break;
case 20:cout<<26<<endl;break;
case 21:cout<<20<<endl;break;
case 22:cout<<17<<endl;break;
case 23:cout<<9<<endl;break;
case 24:cout<<22<<endl;break;
case 25:cout<<22<<endl;break;
case 26:cout<<23<<endl;break;
case 27:cout<<0<<endl;break;
case 0:cout<<1<<endl;break;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: