20分求助
查看原帖
20分求助
682044
czk111楼主2022/7/21 21:42
#include <bits/stdc++.h>
using namespace std;
string s,s1;
int a[1000000],b[1000000],c[1000000];
int main(){
	cin>>s>>s1;
	if(s.size()<s1.size()||(s.size()==s1.size()&&s<s1)){
		swap(s,s1);
		cout<<"-";
	}
	for(int i=s.size();i<s1.size();i++) s1='0'+s1;
	reverse(s.begin(),s.end());
	reverse(s1.begin(),s1.end());
	for(int i=0;i<s.size();i++) a[i]=s[i]-'0';
	for(int i=0;i<s1.size();i++) b[i]=s1[i]-'0';
	for(int i=0;i<s.size();i++){
		c[i]=c[i]+a[i]-b[i];
		if(c[i]<0){
			c[i+1]--;
			c[i]+=10;
		}
	}
	int f=0;
	for(int i=s.size()-1;i>=0;i--){
		f=(c[i]==0?0:1);
		if(f) cout<<c[i]+'0';		
	}
	if(s==s1) cout<<0;
	return 0;
}
2022/7/21 21:42
加载中...