5000! #include <iostream> #include<cstdio> using namespace std; #define base 100000 #define max 3400 int a[18000]; void multiply(int a[],int maxx,int b) { int i,array=0; for(i=maxx-1;i>=0;i--) { array+=b*a[i]; a[i]=array%base; array/=base; } } int main() { int m,i,j,c; scanf("%d",&m); a[max-1]=1; for(i=1;i<=m;i++) { multiply(a,max,i); } for(i=0;i<max&&a[i]==0;i++); printf("%d",a[i++]); for(;i<max;i++) printf("%05d",a[i]); //注意这里 printf("\n"); return 0; }