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 }
原文:https://www.cnblogs.com/fx1998/p/12815214.html