#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool cmp(string u, string v){
if(u.size() < v.size()) return true;
if(u.size() > v.size()) return false;
return u < v;
}
int main(){
string a, b, res;
cin>>a>>b;
if(cmp(a, b)){
cout<<"-";
swap(a, b);
}
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
int c = 0, t = 0;
for(int i = 0; i < a.size() || i < b.size(); i++){
int u = i < a.size() ? a[i] - '0': 0;
int v = i < b.size() ? b[i] - '0': 0;
if(u + c < v){
t = u + c + 10 - v;
c = -1;
}else{
t = u + c - v;
c = 0;
}
res += to_string(t);
}
int k = res.size() - 1;
while(k > 0 && res[k] == '0') k--;
res = res.substr(0, k + 1);
reverse(res.begin(), res.end());
cout<<res<<endl;
return 0;
}
792. 高精度减法
最新推荐文章于 2021-10-29 18:04:51 发布