高精度减法

· · 个人记录

#include<bits/stdc++.h>
using namespace std;
void gao_jing_du_jian_fa(string a,string b){
    int an[1000],bn[1000];
    int lena=a.size(),lenb=b.size();
    int len=max(lena,lenb);
    for(int i=0;i<lena;i++){
        an[i]=a[lena-i-1]-'0';
    }
    for(int i=0;i<lenb;i++){
        bn[i]=b[lenb-i-1]-'0';
    }
    for(int i=0;i<len;i++){
        an[i]-=bn[i];
        if(an[i]<0){
            an[i]+=10;
            an[i+1]-=1;
        }
    }
    while(an[len-1]==0&&len>1)len--;
    for(int i=len-1;i>=0;i--)cout<<an[i];
}
int main(){
    string a,b;
    cin>>a>>b;
    gao_jing_du_jian_fa(a,b);
    return 0;
}