描述
计算a+b的值,a,b皆为不超过240位的正整数。
这里的数很大,不能像我们平常的加法一样可以直接算了,要用高精度算法模拟整个过程,包括相加、进位等等;
下面出示代码:
#include <bits/stdc++.h>
using namespace std;
string s1,s2;
int a[300],b[300],c[300];
int main(){
getline(cin,s1);
getline(cin,s2);
for(int i=0;i<s1.size();i++){
a[s1.size()-i-1]=s1[i]-'0';
}
for(int i=0;i<s2.size();i++){
b[s2.size()-i-1]=s2[i]-'0';
}
int len=s1.size();
if(s2.size()>len)len=s2.size();
for(int i=0;i<len;i++)c[i]=a[i]+b[i];
for(int i=0;i<len;i++){
if(c[i]>=10){
c[i+1]+=c[i]/10;
c[i]%=10;
}
}
if(c[len]>0)len++;
for(int i=len-1;i>=0;i--)cout<<c[i];
return 0;
}