洛谷 P1009 阶乘之和

本文介绍了一道关于高精度计算的编程题,通过C++实现了一个能够处理大数运算的程序。主要使用了数组来存储大数,并实现了加法和乘法的功能。

题目传送门

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值