简简单单小水题
2026-02-26 11:15:21
发布于:浙江
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[10005],b[10005],c[10005];
string mi(string n,string m){
if(n.size()!=m.size() && n.size()<m.size()){
cout<<"-";
swap(n,m);
}else if(n.size()==m.size() && n<m){
cout<<"-";
swap(n,m);
}
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
int len1=n.size();
int len2=m.size();
reverse(n.begin(),n.end());
reverse(m.begin(),m.end());
for(int i=0;i<len1;i++){
a[i]=n[i]-'0';
}
for(int i=0;i<len2;i++){
b[i]=m[i]-'0';
}
int len=max(len1,len2);
for(int i=0;i<len;i++){
c[i]=a[i]-b[i]+c[i];
if(c[i]<0){
c[i+1]-=1;
c[i]+=10;
}
}
while(len-1>=0 && c[len-1]==0)len--;
string ans="";
for(int i=len-1;i>=0;i--){
ans+=c[i]+'0';
}
return ans;
}
int main(){
string n,m;
cin>>n>>m;
cout<<mi(n,m);
return 0;
}
//minus是关键字哦
这里空空如也




有帮助,赞一个