TRT
2024-06-15 12:15:05
发布于:广东
11阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[100005],b[100005],c[100005];
int main(){
string a1,b1;
cin>>a1>>b1;
int l1=a1.length();
int l2=b1.length();
int l=max(l1,l2);
int f=0;
if(l2>l1||l1==l2&&b1>a1){
f=1;
for(int i=0;i<l1;i++) b[l1-i]=a1[i]-'0';
for(int i=0;i<l2;i++) a[l2-i]=b1[i]-'0';
}else{
for(int i=0;i<l1;i++) a[l1-i]=a1[i]-'0';
for(int i=0;i<l2;i++) b[l2-i]=b1[i]-'0';
}
//借位
for(int i=1;i<=l;i++){
if(a[i]<b[i]){
a[i]+=10;
a[i+1]--;
}
c[i]=a[i]-b[i];
}
if(f) cout<<"-";//负号
int t=l;//处理前导0
while(t>0&&c[t]==0){
t--;
}
for(int i=t;i>=1;i--) cout<<c[i];
return 0;
}
全部评论 1
..........
2024-06-22 来自 广东
1
有帮助,赞一个