#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char a[1005];
char b[1005];
int c[1005];
int main()
{
// freopen("in.txt","r",stdin);
while(cin>>a>>b)
{
int first=0;
int digit,i;
int carry,tmp;
int lena=strlen(a);
int lenb=strlen(b);
reverse(a,a+lena);
reverse(b,b+lenb);
carry=0;
for(i=0;i<lena&&i<lenb;i++)
{
c[i]=a[i]+b[i]-'0'*2+carry;
carry=c[i]/10;
c[i]=c[i]%10;
}
if(lena==lenb)
{
if(carry>0)
{
c[i]=carry;
digit=lena+1;
}
else
{
digit=lena;
}
}
else if(lena>lenb)
{
for(;i<lena;i++)
{
c[i]=a[i]+carry-'0';
carry=c[i]/10;
c[i]=c[i]%10;
}
if(carry)
{
c[i]=carry;
digit=lena+1;
}
else
{
digit=lena;
}
}
else if(lena<lenb)
{
for(;i<lenb;i++)
{
c[i]=b[i]+carry-'0';
carry=c[i]/10;
c[i]=c[i]%10;
}
if(carry)
{
c[i]=carry;
digit=lenb+1;
}
else
{
digit=lenb;
}
}
for(i=digit-1;i>=0;i--)
{
if(c[i]!=0)
{
first=1;
printf("%d",c[i]);
}
else if(first) printf("%d",c[i]);
}
if(!first) printf("0");
printf("\n");
}
return 0;
}
NOJ 1011 大整数加法
最新推荐文章于 2023-10-03 13:20:08 发布