Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 83996 Accepted Submission(s): 24766
#include <cstdio> #include <iostream> #include <cstring> #include <map> #include <algorithm> using namespace std; typedef long long ll; const int MAXN=40000; int ans[MAXN]; int flag; int main() { int n,r,tmp; while(scanf("%d",&n)!=EOF){ flag=0; memset(ans,0,sizeof(ans)); ans[0]=1; for(int i=2;i<=n;i++) { r=0; for(int j=0;j<=MAXN;j++) { tmp=ans[j]*i+r; ans[j]=tmp%10; r=tmp/10; } } for(int i=MAXN;i>=0;i--) { if(flag==0&&ans[i]==0) continue; else { flag=1; printf("%d",ans[i]); } } printf("\n"); } return 0; }
原文:http://www.cnblogs.com/a249189046/p/7487722.html