A633.高精度A+B
2024-12-20 07:39:52
发布于:江苏
1阅读
0回复
0点赞
#include<iostream>
#include<cstring>
using namespace std;
string add(string A,string B){
string C="";
int a[300],b[300],sum[301],c[301],lena=A.length(),lenb=B.length(),i=0,max=(lena>lenb?lena:lenb),x=0,digs=max;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(sum,0,sizeof(c));
for(;i<max;i++){
if(i<lena) a[i]=A[lena-i-1]-'0';
if(i<lenb) b[i]=B[lenb-i-1]-'0';
sum[i]=a[i]+b[i]+x;
x=sum[i]/10;
sum[i]%=10;
}
digs+=x;
if(x){
sum[i]=a[i]+b[i]+x;
x=sum[i]/10;
sum[i]%=10;
}
for(int i=0;i<digs;i++){
c[i]=sum[digs-i-1];
C+=c[i]+'0';
}
return C;
}
int main(){
string a,b;
cin>>a>>b;
cout<<add(a,b);
return 0;
}
这里空空如也
有帮助,赞一个