A+B Problem(高精)
题目描述
高精度加法,相当于 a+b problem,不用考虑负数。
输入格式
分两行输入。a,b≤10500。
输出格式
输出只有一行,代表 a+b 的值。
样例 #1
样例输入 #1
1
1
样例输出 #1
2
样例 #2
样例输入 #2
1001
9099
样例输出 #2
10100
提示
20% 的测试数据,0≤a,b≤109;
40% 的测试数据,0≤a,b≤1018。
#include <bits/stdc++.h>
using namespace std;
int a[201],b[201],c[201];
string x,y;
int main()
{
cin>>x;
cin>>y;
int i,j,len,p=0;
for(i=0;i<x.size();i++) a[i+1]=x[i]-'0';
for(j=0;j<y.size();j++) b[j+1]=y[j]-'0';
len=max(i,j);
for(i=len;i>=1;i--)
{
c[i]=a[i]+b[i]+p;
p=0;
if(c[i]>=10)
{
p=1;
c[i]%=10;
}
}
bool z=false;
if(p==1) cout<<"1";
for(i=1;i<=len;i++)
{
if(z||c[i]!=0)
{
cout<<c[i];
z=true;
}
}
if(!z) cout<<"0";
return 0;
}