A+B大数版 | |||
| |||
description | |||
| |||
input | |||
| |||
output | |||
| |||
sample_input | |||
| |||
sample_output | |||
| |||
hint | |||
| |||
source |
#include<stdio.h>
#include<string.h>
#define N 10000
void daozhi(char a[],int m)
{
int i;
char temp;
for(i=0;i<m/2;i++)
{
temp=a[i];
a[i]=a[m-1-i];
a[m-1-i]=temp;
}
}
int main()
{
void add(char a[],char b[],char c[]);
char a[N],b[N];
char str[N];
long long m,i;
while(~scanf("%s",a))
{ m=0;
scanf("%s",b);
add(a,b,str);
for(i=0;i<strlen(str);i++)
{
m=m*10+(str[i]-'0');
}
printf("%lld",m);
}
return 0;
}
void add(char a[],char b[],char c[])
{
int i,e,d;
int n,m;
n=strlen(a);
m=strlen(b);
daozhi(a,n);
daozhi(b,m);
e=0;
for(i=0;i<n&&i<m;i++)
{
d=b[i]-'0'+a[i]-'0'+e;
e=d/10;
c[i]=d%10+'0';
}
if(i<m)
for(;i<m;i++)
{
d=b[i]-'0'+e;
e=d/10;
c[i]=d%10+'0';
}
else
for(;i<n;i++)
{
d=a[i]-'0'+e;
e=d/10;
c[i]=d%10+'0';
}
if(e!=0)
c[i++]=e+'0';
c[i]=0;
i=n;
daozhi(c,n);
}