高精度运算

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
string add(string s, string s2) {
    string maxstr, minstr;
    if(s.length() > s2.length()) {
        maxstr = s;
        minstr = s2;
    } else {
        maxstr = s2;
        minstr = s;
    }
    int l = maxstr.length();
    int l2 = minstr.length();
    for(int i = l - 1, j = l2 - 1; j >= 0; i--, j--) {
        maxstr[i] += minstr[j] - '0';
    }
    for(int i = l - 1; i >= 1; i--) {
        if(maxstr[i] > '9') {
            maxstr[i] -= 10;
            maxstr[i - 1]++;
        }
    }
    if(maxstr[0] > '9') {
        maxstr[0] -= 10;
        maxstr = '1' + maxstr;
    }
    int i = 0;
    for(; i < maxstr.size(); i++) {
        if(maxstr[i] != '0') {
            break;
        }
    }
    if(i == maxstr.size()) {
        return "0";
    } else {
        return maxstr.erase(0, i);
    }
}
int main() {

    return 0;
}

猜你喜欢

转载自blog.csdn.net/qwqwdqwqwe/article/details/80377741