南阳28

 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 }
原文地址:https://www.cnblogs.com/qq188380780/p/6664967.html