AcWing 791. 高精度加法
原题链接
简单
作者:
求Accept
,
2021-02-11 11:31:38
,
所有人可见
,
阅读 275
C++ 代码
#include <bits/stdc++.h>
using namespace std;
vector<int> add(vector<int> &A, vector<int> &B)。/*加&可以提高效率 不需要拷贝*/
{
int t = 0;
vector<int> C;
for(int i = 0; i < A.size() || i < B.size(); i ++) /*多种写法*/
{
if(i < A.size()) t += A[i];
if(i < B.size()) t += B[i];
C.push_back(t % 10);
t /= 10;
}
if(t) C.push_back(t);
return C;
}
int main()
{
string a,b;
cin >> a >> b;
vector<int> A,B;
for(int i = a.size()-1; i >=0; i --) A.push_back(a[i]-'0'); /*注意数组低位存储个位元素
对于向量则是先把低位元素push_back*/
for(int i = b.size()-1; i >=0; i --) B.push_back(b[i]-'0'); /*数字字符减‘0’得到该数字*/
auto C = add(A,B);
for(int i = C.size()-1; i >=0; i --) printf("%d",C[i]);
return 0;
}