首页 > 其他 > 详细

7.高精度加法

时间:2020-06-28 15:45:33      阅读:69      评论:0      收藏:0      [点我收藏+]

技术分享图片

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 vector<int> add(vector<int> &A, vector<int> &B) { //加上引用,不然很慢 
 4     vector<int> C; //答案 
 5     int t = 0; //进位 
 6     for (int i = 0; i < A.size() || i < B.size(); i++) {
 7         //让t来表示三个数的和 
 8         if (i < A.size()) {
 9             t += A[i];
10         }
11         if (i < B.size()) {
12             t += B[i];
13         }
14         C.push_back(t % 10);
15         t /= 10;
16     }
17     if (t) {
18         C.push_back(1);
19     }
20     return C;
21 }
22 int main() {
23     string a, b; //太长了,所以用字符串来读入 
24     cin >> a >> b;
25     vector<int> A, B; //然后存进vector 
26     for (int i = a.length() - 1; i >= 0; i--) {
27         A.push_back(a[i] - 0); //字符变数字 
28     }
29     for (int i = b.length() - 1; i >= 0; i--) {
30         B.push_back(b[i] - 0);
31     }
32     vector<int> C = add(A, B);
33     for (int i = C.size() - 1; i >= 0; i--) {
34         cout << C[i];
35     }
36     return 0;
37 }

 

7.高精度加法

原文:https://www.cnblogs.com/fx1998/p/12815214.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!