fw夏水流萤

初音未来  •  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;
}

玄笙依旧怜  •  15天前

请先登录,才能进行评论