Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! in one line.
Sample Input
1
2
3
Sample Output
1
2
6
#include<stdio.h>
#include<string.h>
int main()
{
int n,i,j,temp,s;
int num[20000];
while(scanf("%d",&n)!=EOF)
{
memset(num,0,sizeof(num));
num[0]=1;
for(i=2;i<=n;i++)
{
int temp=0;
for(j=0;j<20000;j+=1)
{
s=num[j]*i+temp;
num[j]=s%1000;
temp=s/1000;
}
}
for(i=20000-1;i>-1;i--)if(num[i])break;
printf("%d",num[i]);
for(j=i-1;j>-1;j--)printf("%.3d",num[j]);
printf("\n");
}
return 0;
}