#include <bits/stdc++.h>
using namespace std;
vector<int> add(vector<int> &x,vector<int> &y)
{
vector<int> c;
int t = 0;
for(int i=0;i<x.size() || i<y.size();i++)
{
if(i<x.size()) t+=x[i];
if(i<y.size()) t+=y[i];
c.push_back(t%10);
t/=10;
}
if(t) c.push_back(1); //进位
return c;
}
int main()
{
string x,y;
vector<int> X,Y;
cin>>x>>y;
for(int i=x.size()-1;i>=0;i--) X.push_back(x[i]-'0');
for(int i=y.size()-1;i>=0;i--) Y.push_back(y[i]-'0'); //数组是从0开始的 个位开始 懂???
auto cnt = add(X,Y);
int len = cnt.size()-1;
while(cnt[len] == 0) len--; //取出前导0
for(len;len>=0;len--) cout<<cnt[len];
return 0;
}
A+B(高精度)
这篇文章详细描述了一个C++函数add,用于将两个整数向量相加并将结果存储在新的向量中,展示了基本的算术操作和数组处理技巧。
摘要由CSDN通过智能技术生成