#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n, m, ans[10010], n1[10005], n2[10005];
char num1[10005], num2[10005];
int main(){
cin >> num1 >> num2;
if (strlen(num1) < strlen(num2) || strlen(num1) == strlen(num2) && strcmp(num1, num2) < 0) {
swap(num1, num2);
cout << '-';
}
int n = strlen(num1), m = strlen(num2);
reverse(num1, num1 + n); for (int i = 0; i < n; ++i) n1[i] = num1[i] - '0';
reverse(num2, num2 + m); for (int i = 0; i < m; ++i) n2[i] = num2[i] - '0';
for (int i = 0; i < n; ++i) {
if (n1[i] < n2[i]) {
n1[i] += 10;
n1[i + 1]--;
}
ans[i] = n1[i] - n2[i];
}
while (!ans[n - 1] && n > 1) n--;
for (int i = n - 1; i >= 0; --i) {
printf("%d", ans[i]);
}
return 0;
}
高精度之大数减法
最新推荐文章于 2022-10-28 23:36:59 发布