洛谷 P1009 阶乘之和

题目传送门

2019.8.7Mr^Simon蒟蒻水题T3

解题思路:

高精度水题

AC代码:

 1 #include<iostream>
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 int a[2000];
 5 int b[2000];
 6 int c[2000];
 7 int sum[2000];
 8 void pplus(int *a,int *c)
 9 {
10     int jw = 0;
11     for(int i = 1;i <= 1000; i++)
12     {
13         c[i] += a[i] + jw;
14         jw = c[i] / 10;
15         c[i] %= 10;
16     }
17 }
18 void cheng(int *a,int c)
19 {
20     int jw = 0;
21     for(int i = 1;i <= 1000; i++)
22     {
23         a[i] = a[i] * c + jw;
24         jw = a[i] / 10;
25         a[i] %= 10;
26     }
27 }
28 int main()
29 {
30     int n;
31     cin >> n;
32     a[1] = 1;
33     for(int i = 1;i <= n; i++)
34     {
35         cheng(a,i);
36         pplus(a,c);
37     }
38     bool flag = 0;
39     for(int i = 1000;i >= 1; i--)
40     {
41         if(c[i] != 0) flag = 1;
42         if(flag) cout << c[i];
43     }
44 }
原文地址:https://www.cnblogs.com/lipeiyi520/p/11316781.html