代码:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
string s,ans;
char word[]="0123456789abcdef";
string z16(int a){
string ss="";
while(a!=0){
ss=ss+word[a%16];
a/=16;
}
reverse(ss.begin(),ss.end());
return ss;
}
int main(){
cin>>s;
int len=s.size();
while(s[len]=='0'&&len>1)len--;
if(s=="0"){
cout<<0;
return 0;
}
if(s.size()%4!=0){
s=string(4-s.size()%4,'0')+s;
}
s="0"+s;
long long sum=0,g=512;
for(int i=1;i<=s.size();i++){
if(i%4==1&&i!=1){
string ss=z16(sum);
ans.append(ss);
sum=0;
g=512;
}
sum=sum+(s[i]-'0')*g;
g/=8;
}
cout<<ans;
return 0;
}