Description
求A+B
Input
多组测试样例。两个正整数X,Y(0≤X,Y≤10^100)
Output
输出结果
Sample Input
1 1
12345 54321
Sample Output
2
66666
思路: 先用字符数组存起来,在将其转化为整形数组,当两个数相加之和大于等于10时,向前进一位,然后再对自己取余,和加法的打草的计算方法一样。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string m,n;
while (cin >> m >> n)
{
int p,a[1005],b[1005];
int i,t,x,y,len,j=0,q;
for(t=0; t<1005; t++)
{
a[t]=0;
b[t]=0;
}
for(i=n.size()-1; i>=0; i--)
a[j++]=n[i]-'0';
j=0;
for(i=m.size()-1; i>=0; i--)
b[j++]=m[i]-'0';
len=max(n.size(),m.size());
for(i=0; i<len; i++)
{
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
for(i=1004; i>=0; i--)
{
if(a[i]!=0)
{
q=i;
break;
}
}
for(i=q; i>=0; i--)
cout<<a[i];
cout<<endl;
}
return 0;
}