题解
【提高】破译密码
1 条题解
-
0
#include <bits/stdc++.h> using namespace std; long long jian(string a,string b){ while(b.size()<a.size()) b="0"+b; int cnt=0; string s=""; for(int i=a.size()-1;i>=0;i--){ int x=(a[i]-'0')-(b[i]-'0')-cnt; if(x<0){ x+=10; cnt=1; }else{ cnt=0; } char ch=x+'0'; s=ch+s; } long long num=0; for(char c:s){ int x=c-'0'; num=num*10+x; } return num; } string liu(string a,string b){ long long s=jian(a,b); if(s==0){ return "0"; } string m=""; const string z="0123456789ABCDEF"; while(s>0){ m=z[s%16]+m; s/=16; } return m; } int main(){ string a,b; cin>>a>>b; if(a<b) swap(a,b); cout<<liu(a,b); return 0; }
- 1