你们的a+b太low。看我的高精度A+B
2023-07-25 16:05:23
发布于:河北
4阅读
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;
}
这里空空如也

有帮助,赞一个