高精度
2023-08-16 15:12:19
发布于:广东
7阅读
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);
return 0;
}
全部评论 1
晦气东西乐死我了
2023-08-21 来自 河北
0没实力哈哈哈哈哈哈哈哈哈哈哈哈在这找存在感
2023-08-21 来自 广东
0
有帮助,赞一个