1 //一个数组元素存14位,模拟即可 2 #include<cstdio> 3 int len = 0; 4 const long long m = 100000000000000; 5 long long a[10000]={1}; 6 7 void solve(long long x) 8 { 9 int add = 0; 10 for(int i=0; i<=len; ++i) 11 { 12 a[i] *= x; 13 a[i] += add; 14 add = a[i]/m; 15 a[i] %= m; 16 } 17 if(add > 0) 18 a[++len] = add; 19 } 20 21 int main() 22 { 23 int n; 24 scanf("%d",&n); 25 for(int i=n; i>0; --i) 26 solve((long long)i); 27 printf("%lld",a[len]); 28 for(int i=len-1; i>=0; --i) 29 printf("%014lld",a[i]); 30 printf(" "); 31 }