10
3628800
#include<bits/stdc++.h> using namespace std; int main() { //1000!为2568位 int a[3005],n; memset(a,0,sizeof(a)); cin>>n; a[1]=1; int up=0; for(int i=2;i<=n;i++) { for(int j=1;j<=3000;j++) { int x=(a[j])*i+up; up=x/10;//进位 a[j]=x%10; } } int i; for(i=3000;i>=1;i--) { if(a[i]!=0) break; } for(int j=i;j>=1;j--)//倒序输出 cout<<a[j]; cout<<endl; return 0; }
原文:https://www.cnblogs.com/yinbiao/p/10462191.html