杭电地址:http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=2&problemid=13
N!Again |
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
Total Submission(s): 641 Accepted Submission(s): 361 |
Problem Description
WhereIsHeroFrom: Zty, what are you doing ?
Zty: I want to calculate N!...... WhereIsHeroFrom: So easy! How big N is ? Zty: 1 <=N <=1000000000000000000000000000000000000000000000… WhereIsHeroFrom: Oh! You must be crazy! Are you Fa Shao? Zty: No. I haven's finished my saying. I just said I want to calculate N! mod 2009 Hint : 0! = 1, N! = N*(N-1)! |
Input
Each line will contain one integer N(0 <= N<=10^9). Process to end of file.
|
Output
For each case, output N! mod 2009
|
Sample Input
4 5 |
Sample Output
24 120 |
代码:
#include <iostream>
using namespace std;
int main()
{
int m;
int ch[41];
ch[0]=1;
for(int i=1;i<=41;i++)
{
ch[i]=(ch[i-1]*i)%2009;
}
while(cin>>m)
{
if(m>=41)
cout<<0<<endl;
else
cout<<ch[m]<<endl;
}
return 0;
}