1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include <bits/stdc++.h> #include <string> using namespace std; int a[10001],b[10001],c[10001]; int main(){ string sta,stb; int la,lb,lc,i,j,g=0; cin>>sta>>stb; la=sta.size(); lb=stb.size(); if(la<lb || (la==lb && sta<stb)){ swap(sta,stb); swap(la,lb); cout<<"-"; } lc=la; for(i=0;i<la;i++) a[i]=sta[la-i-1]-'0'; for(i=0;i<lb;i++) b[i]=stb[lb-i-1]-'0'; for(i=0;i<lc;i++){ c[i]=a[i]-b[i]-g; if(c[i]<0) { c[i]+=10; g=1; } else g=0; } while(lc>1 && c[lc-1]==0){ lc--; } for(i=lc-1;i>=0;i--) cout<<c[i]; return 0; }
|