社区讨论

40求调

P1601高精度加法参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m6aj41pt
此快照首次捕获于
2025/01/24 16:57
去年
此快照最后确认于
2025/11/04 10:44
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5;

string s1, s2;
int a1[N], a2[N], a3[N];

signed main() {
	// 输入
	cin >> s1 >> s2;
	// 存储
	for (int i = 0; i < s1.size(); i++) {
		a1[s1.size() - i - 1] = s1[i] - '0';
	}
	for (int i = 0; i < s1.size(); i++) {
		a2[s2.size() - i - 1] = s2[i] - '0';
	}
	// 处理
	int len = max(s1.size(), s2.size());
	for (int i = 0; i < len; i++) {
		a3[i] = a1[i] + a2[i];
	}
	for (int i = 0; i < len; i++) {
		if (a3[i] > 10) {
			a3[i + 1] += a3[i] / 10;
			a3[i] %= 10;
		}
	}

	// 输出
	if(a3[len] != 0){
		len++;
	}
	for(int i=len - 1;i>= 0;i--){
		cout << a3[i];
	}
	cout << endl;
	return 0;
}
蒟蒻自己貌似看着没问题啊。 哪位大佬帮帮忙?

回复

1 条回复,欢迎继续交流。

正在加载回复...