. • 25天前
using namespace std;
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;
}
评论:
请先登录,才能进行评论