54 lines
No EOL
965 B
C
54 lines
No EOL
965 B
C
int printf(char* format, ...);
|
|
int getchar();
|
|
|
|
|
|
void read(int* a) {
|
|
a[0] = 0;
|
|
while (1) {
|
|
int c = getchar();
|
|
if (c == '\n' || c == -1) {
|
|
break;
|
|
}
|
|
if (c >= '0' && c <= '9') {
|
|
a[++a[0]] = c - '0';
|
|
}
|
|
}
|
|
for (int j = 1; j <= a[0] / 2; j++) {
|
|
int temp = a[j];
|
|
a[j] = a[a[0] - j + 1];
|
|
a[a[0] - j + 1] = temp;
|
|
}
|
|
}
|
|
|
|
void write(int* a) {
|
|
int n = a[0];
|
|
for (int i = n; i > 0; --i) {
|
|
printf("%d", a[i]);
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
void add(int* a, int* b) {
|
|
int n = a[0] > b[0] ? a[0] : b[0];
|
|
int carry = 0;
|
|
for (int i = 1; i <= n; i++) {
|
|
int sum = a[i] + b[i] + carry;
|
|
a[i] = sum % 10;
|
|
carry = sum / 10;
|
|
}
|
|
if (carry) {
|
|
a[n + 1] = carry;
|
|
a[0] = n + 1;
|
|
} else {
|
|
a[0] = n;
|
|
}
|
|
}
|
|
|
|
int main() {
|
|
int a[100];
|
|
int b[100];
|
|
read(a);
|
|
read(b);
|
|
add(a, b);
|
|
write(a);
|
|
} |