#include <cstdio>
#include <cstring>
char a[50005],b[5005],sum[5005];
int main(){
scanf(" %s ",&a);
scanf(" %s ",&b);
int lenA = strlen( a );
int lenB = strlen( b );
int poz = 5004;
sum[ poz-- ] = 0;
int rest = 0;
if (lenA >= lenB) {
int i=0;
for( ; i<lenB; i++){
sum[ poz-- ] = '0'+ (((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) % 10);
rest = ((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) / 10;
//printf("a");
}
for( ; i< lenA; i++) {
sum[ poz-- ] = '0' + (((a[ lenA - i - 1 ] - '0') + rest) % 10);
rest = ((a[ lenA - i - 1 ] - '0') + rest) / 10;
//printf("b");
}
if(rest>0)
sum[ poz-- ] = '0' + rest;
poz++;
} else {
int i=0;
for( ; i<lenA; i++){
sum[ poz-- ] = '0'+ (((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) % 10);
rest = ((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) / 10;
//printf("a");
}
for( ; i< lenB; i++) {
sum[ poz-- ] = '0' + (((b[ lenB - i - 1 ] - '0') + rest) % 10);
rest = ((b[ lenB - i - 1 ] - '0') + rest) / 10;
//printf("b");
}
if(rest>0)
sum[ poz-- ] = '0' + rest;
poz++;
}
printf("%s\n",sum+poz);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <cstdio> #include <cstring> char a[50005],b[5005],sum[5005]; int main(){ scanf(" %s ",&a); scanf(" %s ",&b); int lenA = strlen( a ); int lenB = strlen( b ); int poz = 5004; sum[ poz-- ] = 0; int rest = 0; if (lenA >= lenB) { int i=0; for( ; i<lenB; i++){ sum[ poz-- ] = '0'+ (((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) % 10); rest = ((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) / 10; //printf("a"); } for( ; i< lenA; i++) { sum[ poz-- ] = '0' + (((a[ lenA - i - 1 ] - '0') + rest) % 10); rest = ((a[ lenA - i - 1 ] - '0') + rest) / 10; //printf("b"); } if(rest>0) sum[ poz-- ] = '0' + rest; poz++; } else { int i=0; for( ; i<lenA; i++){ sum[ poz-- ] = '0'+ (((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) % 10); rest = ((a[ lenA - i - 1 ] - '0') + (b[ lenB - i - 1 ] - '0') + rest) / 10; //printf("a"); } for( ; i< lenB; i++) { sum[ poz-- ] = '0' + (((b[ lenB - i - 1 ] - '0') + rest) % 10); rest = ((b[ lenB - i - 1 ] - '0') + rest) / 10; //printf("b"); } if(rest>0) sum[ poz-- ] = '0' + rest; poz++; } printf("%s\n",sum+poz); return 0; } |
English