初音未来 • 15天前
#include <bits/stdc++.h>
using namespace std;
int a[505], b[505], c[505];
int main() {
string s1, s2;
cin >> s1 >> s2;
int la = s1.size();
int lb = s2.size();
int lc = max(la, lb) + 1;
for (int i = 0; i < la; i++)
a[la - i] = s1[i] - '0';
for (int i = 0; i < lb; i++)
b[lb - i] = s2[i] - '0';
for (int i = 1; i <= lc; i++) {
c[i] += (a[i] + b[i]);
c[i + 1] = c[i] / 10;
c[i] %= 10;
}
if (c[lc] == 0)
lc--;
for (int i = lc; i >= 1; i--)
cout << c[i];
return 0;
}
评论:
#include <bits/stdc++.h>
#include <mutex>
using namespace std;
const int MAXN = 10005;
int a[MAXN], b[MAXN], c[MAXN], ans[MAXN], la, lb, lc;
void read(int *a, int &len) {
string cur;
cin >> cur;
len = cur.size();
for (int i = 0; i < len; i++) {
a[i] = cur[i] - '0';
}
reverse(a, a + len);
}
int main() {//0 48,a 97
//freopen("wenjian.in","r",stdin);
//freopen("wenjian.out","w",stdout);
read(a, la);
read(b, lb);
lc = max(la, lb);
for (int i = 0; i < lc; i++) {
ans[i] += a[i] + b[i] + c[i];
if (ans[i] > 9) {
ans[i] %= 10;
ans[i + 1] += 1;
}
}
if (ans[lc] == 0) {
lc--;
}
for (int i = lc; i >= 0; i--) {
cout << ans[i];
}
return 0;
}
请先登录,才能进行评论