求,改
查看原帖
求,改
1237804
thomas1234567楼主2024/8/22 18:10
#include<bits/stdc++.h>
using namespace std;
int q[100010],q1[100010],q2[100010];
int sum1=0,sum2=0;
int main(){
    char a[100010],b[100010];
    cin>>a>>b;
    int n1,n2;
    n1=strlen(a);
    n2=strlen(b);
    for(int i=0;i<n1/2;i++){
    	swap(a[i],a[n1-1-i]);
	}
    for(int i=0;i<n2/2;i++){
    	swap(b[i],b[n2-1-i]);
	}
    for(int i=0;i<n1;i++){
    	q[i]=a[i]-'0';
	}
    for(int i=0;i<n2;i++){
    	q1[i]=b[i]-'0';
	}
    if(n2>n1)
    {
        for(int i=0;i<n2;i++){
        	swap(q[i],q1[i]);
		}
        sum1=1; 
    }
    if(n1>n2){
    	swap(n1,n2);
	}
    for(int i=0;i<n2;i++){
    	q2[i]=q[i]-q1[i];  
	}
    for(int i=0;i<n2;i++){
        if(q2[i]<0){ 
            q2[i]=10+q2[i];
            q2[i+1]--; 
        } 
    }
    if(sum1==1){
    	cout<<"-";
	}
    for(int i=n2-1;i>=0;i--){
        if(sum2==0){
            if(q2[i]!=0){
	            sum2=1;
	            cout<<q2[i];
	            continue;
            } 
        }
        if(sum2!=0){
            cout<<q2[i];
        }
    }
}
2024/8/22 18:10
加载中...