杭电1042 N!
2014-10-11 18:59
253 查看
N!
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
CODE:
#include <stdio.h> #include <string.h> int main() { int i,j,a,n,len,str[70000]; //要开到70000,不然wa while(~scanf("%d",&n)) { str[0]=1; len=1; for(i=1;i<=n;i++) { a=0; for(j=0;j<len;j++) { str[j]=str[j]*i+a; if(str[j]>9) { a=str[j]/10; str[j]%=10; } else a=0; } //printf("%d %d\n",j,len); while(a) { str[len]=a%10; a/=10; len++; } } for(i=len-1;i>=0;i--) printf("%d",str[i]); printf("\n"); } return 0; }