题解
2023-12-29 13:27:52
发布于:广东
248阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
string add(string s1,string s2){
vector<int> a,b,c;
//倒序存储
for(int i=s1.size()-1;i>=0;i--) a.push_back(s1[i]-'0'); //倒序存储a向量
for(int i=s2.size()-1;i>=0;i--) b.push_back(s2[i]-'0');
//列竖式 加法
int cc=0;
for(int i=0;i<a.size() || i<b.size();i++){
if(i<a.size()) cc+=a[i];
if(i<b.size()) cc+=b[i];
c.push_back(cc%10);
cc/=10;
}
//+*考虑进位 -/考虑 前导零 -考虑负数
if(cc) c.push_back(cc);
string s3;
for(int i=c.size()-1;i>=0;i--) s3+= (char)(c[i]+'0');
return s3;
}
int main(){
string a,b;
cin>>a>>b;
cout<<add(a,b);
}
全部评论 2
挺用心的
2024-01-22 来自 广东
0fffffff
2024-01-22 来自 广东
0
有帮助,赞一个