高减高

#include <iostream>
#include <vector>
using namespace std;
int main(){
    string la,lb;
    cin>>la>>lb;
    vector<int> a,cl,b;
    for(int i=0;i<=la.size();i++){
        if(la[i]!='0'){
            la=la.substr(i);
            break;
        }
    }
    for(int i=0;i<=lb.size();i++){
        if(lb[i]!='0'){
            lb=lb.substr(i);
            break;
        }
    }
    for(int i=la.size()-1;i>=0;i--){
        a.push_back(la[i]-'0');
    }
    for(int i=lb.size()-1;i>=0;i--){
        b.push_back(lb[i]-'0');
    }
    int c=0;
    for(int i=0;i<max(a.size(),b.size());i++){
        if(i>=a.size()){
            a.push_back(0);
        }
        if(i>=b.size()){
            b.push_back(0);
        }
        if(a[i]>=b[i]){
            c+=a[i]-b[i];
        }else{
            c+=a[i]+10-b[i];
            a[i+1]-=1;
        }
        cl.push_back(c%10);
        c/=10;
    }
    bool pl=false;
    for(int i=cl.size()-1;i>=0;i--){
        if(cl[i]!=0 || pl){
            pl=true;
            cout<<cl[i];
        }
        
    }
    return 0;
}

 

posted @ 2024-06-01 15:55  -刘-j-x-  阅读(9)  评论(0)    收藏  举报