社区讨论

85分求调

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mlj9i5xb
此快照首次捕获于
2026/02/12 17:34
上周
此快照最后确认于
2026/02/14 23:55
5 天前
查看原帖
CPP
#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    string s1, s2;
    cin >> s1 >> s2;
    if (s1 < s2){
        string s3 = s2;
        s2 = s1;
        s1 = s3;
        cout << "-";
    }
    if (s1 == s2){
        cout << "0";
        return 0;
    }
    reverse(s1.begin(), s1.end());
    reverse(s2.begin(), s2.end());
    int a[10086], b[10086], c[100086];
    for (int i = 0;i < s1.size();i++){
        a[i] = s1[i] - '0';
    }
    for (int i = 0;i < s2.size();i++){
        b[i] = s2[i] - '0';
    }
    for (int i = 0;i < s1.size();i++){
        c[i] = 0;
    }
    for (int i = 0;i < s1.size();i++){
        c[i] += a[i] - b[i];
        if (c[i] < 0){
            c[i + 1]--;
            c[i] = c[i] + 10;
        }
    }
    int len = s1.size() - 1;
    while (c[len] == 0){
        len--;
    }
    for (int i = len;i >= 0;i--){
        cout << c[i];
    }
    return 0;
}

回复

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

正在加载回复...