intmain(void) { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); string a, b; cin >> a >> b; for (int i = a.size() - 1; ~i; i -- ) A.push_back(a[i] - '0'); // 翻转存入 for (int i = b.size() - 1; ~i; i -- ) B.push_back(b[i] - '0'); // 翻转存入 add(A, B, C); for (int i = C.size() - 1; ~i; i -- ) cout << C[i]; // 逆序输出 return0; }
voidadd(VI &A, VI &B, VI &C){ int t = 0; for (int i = 0; i < A.size() || i < B.size(); i++){ if (i < A.size()) t += A[i]; if (i < B.size()) t += B[i]; C.push_back(t % 10); // 存余 t /= 10; // 进位 } if (t) C.push_back(t); // 处理最高位 }