社区讨论

65ptcs求调

P2142高精度减法参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@mk7qhz8s
此快照首次捕获于
2026/01/10 11:17
上个月
此快照最后确认于
2026/01/12 18:25
上个月
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
string s1 , s2;
int na[10100] , nb[10100] , ans[10100];
string del(string a , string b){
	bool f;
	if ((a < b && a.size() == b.size()) || a.size() < b.size()) swap(a,b) , f = 1;
	for (int i = a.size() ; i >= 1 ; i--) na[i] = a[a.size()-i] - '0';
	for (int i = b.size() ; i >= 1 ; i--) nb[i] = b[b.size()-i] - '0';
	int len = max(a.size(),b.size());
	for (int i = 1 ; i <= len ; i++){
		if (na[i] < nb[i]) na[i+1]-- , na[i] += 10;
		ans[i] = na[i] - nb[i];
	}
	while (ans[len] == 0) len--;
	string anss;
	for (int i = 1 ; i <= len ; i++) anss = (char)(ans[i]+'0') + anss;
	if (f) anss = '-' + anss;
	if (len < 1) anss = "0";
	return anss;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin >> s1 >> s2;
	cout << del(s1,s2);
	return 0;
}

回复

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

正在加载回复...