#include<bits/stdc++.h>
using namespace std;
int a[9999],b[9999],t[9999];
int main(){
int jz=10;
string s1,s2;
cin>>s1>>s2;
if(s1.size()<s2.size()){
swap(s1,s2);
cout<<'-';
}
if(s1.size()==s2.size()){
for(int i=1;i<=s1.size();i++){
if(s2[i]>s1[i]){
swap(s1,s2);
cout<<'-';
break;
}
}
}
for(int j=s1.size()-1,i=0;j>=0;j--,i++)a[i]=s1[j]-'0';
for(int j=s2.size()-1,i=0;j>=0;j--,i++)b[i]=s2[j]-'0';
int len=max(s1.size(),s2.size());
for(int i=0;i<len;i++){
if(a[i]<b[i]){
a[i]+=jz;
a[i+1]--;
}
t[i]=abs(a[i]-b[i]);
}
while(t[len-1]==0&&len>1)len--;
for(int i=len-1;i>=0;i--)cout<<t[i];
}
高精度减法
最新推荐文章于 2025-04-26 23:01:23 发布