提交时间:2023-10-12 13:44:22

运行 ID: 106523

#include<bits/stdc++.h> using namespace std; int a[10000],b[10000],c[10000]; char a1[10000],b1[10000]; int main() { cin>>a1>>b1; if(a1[0]!='-'&&b1[0]!='-') { int len1,len2,len3,len4; for(len1=1;len1<=strlen(a1);len1++) a[len1]=a1[strlen(a1)-len1]-'0'; for(len2=1;len2<=strlen(b1);len2++) b[len2]=b1[strlen(b1)-len2]-'0'; for(len3=1;len3<=strlen(a1)||len3<=strlen(b1);len3++) { if(a[len3]>=b[len3]) c[len3]=a[len3]-b[len3]; else { if(a[len3+1]!=0) { a[len3]+=10; a[len3+1]-=1; c[len3]=a[len3]-b[len3]; } else { int d=len3+1; for( ;a[d]==0;d++) a[d]=9; a[d]-=1; a[len3]+=10; c[len3]=a[len3]-b[len3]; } } } } if(a1[0]=='-'&&b1[0]!='-') { cout<<"-"; for(int d=0;d<strlen(a1);d++) a1[d]=a1[d+1]; int lena=strlen(a1); int lenb=strlen(b1); for(int i=1;i<=lena;i++) { a[i]=a1[lena-i]-'0'; } for(int i=1;i<=lenb;i++) { b[i]=b1[lenb-i]-'0'; } int lenc=1; int x=0; while(lenc<=lena||lenc<=lenb) { c[lenc]=a1[lenc]+b1[lenc]+x; x=c[lenc]/10; c[lenc]%=10; lenc++; } c[lenc]=x; } if(a1[0]!='-'&&b1[0]=='-') { for(int d=0;d<strlen(b1);d++) b1[d]=b1[d+1]; int lena=strlen(a1); int lenb=strlen(b1); for(int i=1;i<=lena;i++) { a[i]=a1[lena-i]-'0'; } for(int i=1;i<=lenb;i++) { b[i]=b1[lenb-i]-'0'; } int lenc=1; int x=0; while(lenc<=lena||lenc<=lenb) { c[lenc]=a1[lenc]+b1[lenc]+x; x=c[lenc]/10; c[lenc]%=10; lenc++; } c[lenc]=x; } if(a1[0]=='-'&&b1[0]=='-') { cout<<"-"; for(int d=0;d<strlen(a1);d++) a1[d]=a1[d+1]; for(int d=0;d<strlen(b1);d++) b1[d]=b1[d+1]; int lena=strlen(a1); int lenb=strlen(b1); for(int i=1;i<=lena;i++) { a[i]=a1[lena-i]-'0'; } for(int i=1;i<=lenb;i++) { b[i]=b1[lenb-i]-'0'; } int lenc=1; int x=0; while(lenc<=lena||lenc<=lenb) { c[lenc]=a1[lenc]+b1[lenc]+x; x=c[lenc]/10; c[lenc]%=10; lenc++; } c[lenc]=x; } int len4=strlen(a1)>=strlen(b1)?strlen(a1):strlen(b1); for(;len4>1;len4--) { if(a[len4]!=0) break; } for( ;len4>=1;len4--) cout<<c[len4]; return 0; }