90分求调
查看原帖
90分求调
1510295
yangjiahaohhh楼主2025/6/20 12:10
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int a[101000],b[101000],e[101000];
int main(){
	string a1,c;
	string b1;
	cin>>a1;
	cin>>b1;
	int la=a1.length();
	int lb=b1.length();
	if(la<lb){
		swap(la,lb);
		swap(a1,b1);
		cout<<"-";
	}
	int i1=0;
	if(la==lb){
	while(1){
		if(a1[i1]<b1[i1]){
		    cout<<"-";
		    swap(a1,b1);
		    break;
		}
		if(i1==la-1){
			break;
		}
		i1++;
	}
}
	for(int i=0;i<la;i++){
		a[i]=a1[la-1-i]-'0';
	}for(int i=0;i<lb;i++){
		b[i]=b1[lb-1-i]-'0';
	}
	int x=0;
	int lo=max(la,lb);
	for(int i=0;i<=lo-1;i++){
		e[i]=a[i]-b[i]-x;
		if(e[i]<0){
			x=1;
			e[i]+=10;
		}else{
			x=0;
		}  
	}
	int k=lo-1;
	while(1){
		if(e[k]!=0){
			break;
		}
		k--;
	}
	if(e[0]==0){
		cout<<0;
		return 0;
	}
	for(int i=k;i>=0;i--){
		cout<<e[i];
	}
	return 0;
} 
2025/6/20 12:10
加载中...