#include<bits/stdc++.h>
using namespace std;
string s, k;
char ans[10005];
int cnt;
int main(){
cin >> s;
int n = s.size();
s = " " + s;
for(int i = 1; i <= n; i++){
int l = s[i] - '0';
for(int j = 3; j >= 1; j--){
k += char('0' + (l >= (1 << (j - 1))));
if(l >= (1 << (j - 1))){
l -= (1 << (j - 1));
}
}
}
for(int i = k.size() - 1; i >= 0; i -= 0){
int l = 0, p = 1;
string sum = k.substr(max(0, i - 3), min(4, i + 1));
for(int j = sum.size() - 1; j >= 0; j--){
l += p * (sum[j] - '0');
p *= 2;
}
if(l >= 10){
ans[++cnt] = char(l - 10 + 'a');
}
else ans[++cnt] = char(l + '0');
i -= 4;
}
int cur = cnt;
while(cur >= 1 && ans[cur] == '0'){
cur--;
}
for(int i = cur; i >= 1; i--){
cout << ans[i];
}
return 0;
}
输入0, 没有输出
提交AC了?????(这数据太水了吧!!)