#include<stdio.h>
#include<string.h>
int main()
{
char a[1100],b[1100],c[1100];
int temp=0,o=0,s=0;
char*p=c;
scanf("%s%s",a,b);
int n=strlen(a);
int m=strlen(b);
// printf("!%d,%d!",a[n-1],b[m-1]);
if(m==n)
while(1)
{
if(n==0) break;
s=a[--n]-48+b[--m]-48;
s+=temp;
c[o++]=s%10;
temp=s/10;
if(n==0&&temp) c[o]=temp;
}
if(m>n)
{
while(1)
{
if(n==0) break;
s=a[--n]-48+b[--m]-48;
s+=temp;
c[o++]=s%10;
temp=s/10;
}
//printf("@");
while(1)
{
if(m==0) break;
s=b[--m]-48+temp;
c[o++]=s%10;
temp=s/10;
if(m==0&&temp) c[o]=temp;//printf("@");
}
}
if(m<n)
{
while(1)
{
if(m==0) break;
s=a[--n]-48+b[--m]-48;
s+=temp;
c[o++]=s%10;
temp=s/10;
}
while(1)
{
if(n==0) break;
s=a[--n]-48+temp;
c[o++]=s%10;
temp=s/10;
if(n==0&&temp) c[o]=temp;
}
}
//printf("(%d)",o);
if(temp)
for(p=p+o;p>=c;p--)
printf("%d",*p);
else
for(p=p+o-1;p>=c;p--)
printf("%d",*p);
//printf("!%d!",*(c+o));
printf("\n");
return 0;
}
//1A了 冗长了
NOJ上的大数相加
最新推荐文章于 2022-11-03 18:10:26 发布