N!
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<cstdio>
int main(){
int n,m,t;
while(scanf("%d",&n)==1){
int f[8005]={0};
f[0]=1;t=0;
for(int i=2;i<=n;i++)
for(int j=0;j<8005;j++){
f[j]=f[j]*i+t;
t=f[j]/100000;
f[j]%=100000;
}
for(int i=8004;i>=0;i--)
if(f[i]){//前面的0不用输出
m=i;
printf("%d",f[i]);
break;
}
for(int i=m-1;i>=0;i--)
printf("%05d",f[i]);//把0也要补起来
printf("\n");
}
return 0;
}