hduoj1042N!
View Code
#include<stdio.h> #include<string.h> #define maxn 40000 int c[maxn]; int main() { int i,j,s,k,n; while(scanf("%d",&n)!=EOF) { memset(c,0,sizeof(c)); c[0]=1; k=0; for(i=2;i<=n;i++) { for(j=0;j<maxn;j++) { s=c[j]*i+k; c[j]=s%10; k=s/10; } } for(i=maxn-1;i>=0;i--) if(c[i])break; for(j=i;j>=0;j--) printf("%d",c[j]); printf("\n"); } return 0; }
N!
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 33293 Accepted Submission(s): 9225
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
posted on 2012-07-22 11:45 LinuxPanda 阅读(141) 评论(0) 编辑 收藏 举报