#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; } |