| ||||
N!Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33314 Accepted Submission(s): 9234
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
Author
JGShining(极光炫影)
View Code
Problem : 1042 ( N! ) Judge Status : Accepted #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define N 60300 #define mod 10 using namespace std; int shu[N]; void quick_min(int m) { shu[0]=1; shu[1]=1; int d=0; for(int i=2;i<=m;i++) { for(int j=1;j<=shu[0];j++) { d=shu[j]*i+d; shu[j]=d%mod; d/=mod; } while(d) { shu[++shu[0]]=d%mod; d/=mod; } } } int main() { int m; while(cin>>m) { quick_min(m); for(int j=shu[0];j>0;j--) cout<<shu[j]; cout<<"\n"; } }
RunId : 6306010 Language : C++ Author : NealGavin Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define N 60300 #define mod 10 using namespace std; int shu[N]; void quick_min(int m) { shu[0]=1; shu[1]=1; int d=0; for(int i=2;i<=m;i++) { for(int j=1;j<=shu[0];j++) { d=shu[j]*i+d; shu[j]=d%mod; d/=mod; } while(d) { shu[++shu[0]]=d%mod; d/=mod; } } } int main() { int m; while(cin>>m) { quick_min(m); for(int j=shu[0];j>0;j--) cout<<shu[j]; cout<<"\n"; } }
View Code
Problem : 1042 ( N! ) Judge Status : Accepted #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define N 60300 #define mod 100000 using namespace std; int shu[N]; void quick_min(int m) { shu[0]=1; shu[1]=1; int d=0; for(int i=2;i<=m;i++) { for(int j=1;j<=shu[0];j++) { d=shu[j]*i+d; shu[j]=d%mod; d/=mod; } while(d) { shu[++shu[0]]=d%mod; d/=mod; } } } int main() { int m; while(cin>>m) { quick_min(m); printf("%d",shu[shu[0]]); for(int j=shu[0]-1;j>0;j--) printf("%05d",shu[j]); cout<<"\n"; } }
RunId : 6306105 Language : C++ Author : NealGavin Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define N 60300 #define mod 100000 using namespace std; int shu[N]; void quick_min(int m) { shu[0]=1; shu[1]=1; int d=0; for(int i=2;i<=m;i++) { for(int j=1;j<=shu[0];j++) { d=shu[j]*i+d; shu[j]=d%mod; d/=mod; } while(d) { shu[++shu[0]]=d%mod; d/=mod; } } } int main() { int m; while(cin>>m) { quick_min(m); printf("%d",shu[shu[0]]); for(int j=shu[0]-1;j>0;j--) printf("%05d",shu[j]); cout<<"\n"; } } |
转载于:https://www.cnblogs.com/nealgavin/archive/2012/07/23/3206044.html