1 条题解

  • 0
    @ 2023-3-4 11:30:30
    
    #include<bits/stdc++.h>
    using namespace std;
    char A[10001],B[10001],D[10001];
    int a[10001],b[10001],c[100001];
    int main(){
    cin>>A>>B;
    int lena=strlen(A);
    int lenb=strlen(B);
    if(lenb>lena||lena==lenb&&strcmp(A,B)<0){
    strcpy(D,A);
    strcpy(A,B);
    strcpy(B,D);
    cout<<"-";
    swap(lena,lenb);
    }
    int x=0;
    int lenc;
    for(int i=0;i<=lena-1;i++){
    a[i]=A[lena-1-i]-'0';
    }
    for(int i=0;i<=lenb-1;i++){
    b[i]=B[lenb-1-i]-'0';
    }
    int i;
    for(i=0;i<lena;i++){
    x=a[i]<b[i];
    a[i]+=10*x;
    a[i+1]-=x;
    c[i]=a[i]-b[i];
    }
    lenc=i;
    while(c[lenc]==0&&lenc>0){
    lenc--;
    }
    for(i=lenc;i>=0;i--){
    cout<<c[i];
    }
    return 0;
    }
    
    • 1

    信息

    ID
    1282
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    26
    已通过
    20
    上传者