答案

.  •  25天前


include <bits/stdc++.h>

using namespace std;

define M 10020

int a[M], b[M], c[M];

bool judge(string s1, string s2) {

if (s1.size() > s2.size()) {
	return false;
} else if (s1.size() == s2.size()) {
	for (int i = 0; i < s1.size(); i++) {
		if (s1[i] > s2[i]) {
			return false;
		}
	}
}
return true;

}

int main() {

string s1, s2;
cin >> s1 >> s2;
bool f = false;
if (judge(s1, s2)) {
	cout << "-";
	swap(s1, s2);
}
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
int la = s1.size();
int lb = s2.size();
int lc = max(la, lb);
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++) {
	if (a[i] < b[i]) {
		a[i] += 10;
		a[i + 1]--;
	}
}
while (c[lc] == 0 && lc > 0) {
	lc--;
}
if (f)
	cout << "-";
for (int i = lc; i >= 1; i--) {
	cout << c[i];
}
return 0;

}


评论:

请先登录,才能进行评论