你们的a+b太low。看我的高精度A+B
2023-07-25 16:05:23
发布于:河北
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
string addition(string a,string b){
string c(max(a.size(),b.size())+1,0);
int i=a.size()-1,j=b.size()-1,k=c.size()-1;
for(;i>=0||j>=0;i--,j--,k--){
int sum = c[k];
if(i>=0) sum+=a[i]-'0';
if(j>=0) sum+=b[j]-'0';
if(sum >= 10){
c[k-1] = 1;
c[k]=sum-10;
}
else c[k]=sum;
}
for(int i=0;i<c.size();i++){
c[i]+='0';
}
while(c.size()>1&&c.front() == '0')c.erase(c.begin());
return c;
}
int main(){
string a,b;
cin>> a>>b;
cout<<addition(a,b);
return 0;
}
这里空空如也
有帮助,赞一个