#include <algorithm>
#include <cstring>
#include <cstdio>
#include <unordered_set>
#include <queue>
using namespace std;
int main()
{
char* A= new char[5002], *B = new char[5002];
A[0] = B[0] = '0';
scanf("%s", A + 1);
scanf("%s", B + 1);
int a = strlen(A), b = strlen(B);
if (a < b)
{
int t = a; a = b; b = t;
char* ts = A; A = B; B = ts;
}
a--; b--;
int over = 0;
while (a > 0)
{
if (b > 0)
{
A[a] += (B[b] - '0');
}
A[a] += over;
if (A[a] > '9')
{
A[a] -= 10;
over = 1;
}
else
{
over = 0;
}
a--; b--;
}
if (over)
{
A[a] = '1';
}
if(A[0]!='0')
{
printf("%s", A);
}
else
{
printf("%s", A + 1);
}
delete[] A;
delete[] B;
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <algorithm> #include <cstring> #include <cstdio> #include <unordered_set> #include <queue> using namespace std; int main() { char* A= new char[5002], *B = new char[5002]; A[0] = B[0] = '0'; scanf("%s", A + 1); scanf("%s", B + 1); int a = strlen(A), b = strlen(B); if (a < b) { int t = a; a = b; b = t; char* ts = A; A = B; B = ts; } a--; b--; int over = 0; while (a > 0) { if (b > 0) { A[a] += (B[b] - '0'); } A[a] += over; if (A[a] > '9') { A[a] -= 10; over = 1; } else { over = 0; } a--; b--; } if (over) { A[a] = '1'; } if(A[0]!='0') { printf("%s", A); } else { printf("%s", A + 1); } delete[] A; delete[] B; return 0; } |
English