【OJ1657】大整数加法
题目描述:
求两个不超过200位的非负整数的和。
输入:
有两行,每行是一个不超过200位的非负整数。
输出:
一行,即相加后的结果。
样例输入:
22222222222222222222 33333333333333333333
样例输出:
55555555555555555555
以下是代码:
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[10010],b[10010],c[10010];
int main(){
cin>>s1>>s2;
a[0]=s1.length();
for(int i=1;i<=a[0];i++)a[i]=s1[a[0]-i]-'0';
b[0]=s2.length();
for(int i=1;i<=b[0];i++)b[i]=s2[b[0]-i]-'0';
c[0]=max(a[0],b[0]);
for(int i=1;i<=c[0];i++){
c[i]+=a[i]+b[i];
c[i+1]=c[i]/10;
c[i]%=10;
}
if(c[c[0]+1]!=0)c[0]++;
for(int