Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
45939 奚晨瑞 大整数减法 C++ 通过 0 MS 272 KB 1238 2024-04-21 09:21:46

Tests(4/4):


#include<bits/stdc++.h> using namespace std; char a[10087],b[10087]; int a1[10087],b1[10087],c[10087]; int main() { cin>>a>>b; int l1=strlen(a); int l2=strlen(b); for(int i=0;i<max(l1,l2);i++){ if(i<l1){ a1[i]=a[l1-i-1]-'0'; } else{ a1[i]=0; } if(i<l2){ b1[i]=b[l2-i-1]-'0'; } else{ b1[i]=0; } } int x=0; int l3=0; for(int i=0;i<max(l1,l2);i++){ l3++; b1[i]+=x; if(a1[i]>=b1[i]){ c[i]=a1[i]-b1[i]; x=0; } else{ c[i]=(a1[i]-b1[i])%10+10; if(c[i]!=0){ x=(b1[i]-a1[i])/10+1; } else{ x=(b1[i]-a1[i])/10; } } } if(x==0){ bool flag=0; for(int i=0;i<l3;i++){ if(c[l3-i-1]==0&&flag==0){ } else{ flag=1; cout<<c[l3-1-i]; } } } else{ x=0; l3=0; for(int i=0;i<max(l1,l2);i++){ l3++; a1[i]+=x; if(b1[i]>=a1[i]){ c[i]=b1[i]-a1[i]; x=0; } else{ c[i]=(b1[i]-a1[i])%10+10; if(c[i]!=0){ x=(a1[i]-b1[i])/10+1; } else{ x=(a1[i]-b1[i])/10; } } } for(int i=0;i<l3;i++){ cout<<"-"; bool flag=0; if(c[l3-i-1]==0&&flag==0){ } else{ flag=1; cout<<c[l3-1-i]; } } } return 0; }


测评信息: