#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
char translate (unsigned char ch);
int main (void)
{
unsigned char hash[] = { 0xD, 0xC, 0xB, 0x7, 0x4, 0x8, 0xA, 0x5,
0xB, 0xC, 0x5, 0x3, 0x9, 0x0, 0xF, 0x2 };
char str[80];
int i;
for (i = 0; i < sizeof (hash); i++)
str[i] = translate (hash[i]);
str[i] = '\0';
return EXIT_SUCCESS;
}
char translate (unsigned char ch)
{
assert (0 <= ch
&& ch
<= 0xF);
const char * dict = "0123456789ABCDEF";
return dict[ch];
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8YXNzZXJ0Lmg+CiNpbmNsdWRlIDxzdGRpby5oPgoKY2hhciB0cmFuc2xhdGUgKHVuc2lnbmVkIGNoYXIgY2gpOwoKaW50IG1haW4gKHZvaWQpCnsKICB1bnNpZ25lZCBjaGFyIGhhc2hbXSA9IHsgMHhELCAweEMsIDB4QiwgMHg3LCAweDQsIDB4OCwgMHhBLCAweDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QiwgMHhDLCAweDUsIDB4MywgMHg5LCAweDAsIDB4RiwgMHgyIH07CiAgY2hhciBzdHJbODBdOwogIGludCBpOwoKICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mIChoYXNoKTsgaSsrKQogICAgc3RyW2ldID0gdHJhbnNsYXRlIChoYXNoW2ldKTsKCiAgc3RyW2ldID0gJ1wwJzsKCiAgcHV0cyAoc3RyKTsKCiAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKfQoKY2hhciB0cmFuc2xhdGUgKHVuc2lnbmVkIGNoYXIgY2gpCnsKICBhc3NlcnQgKDAgPD0gY2ggJiYgY2ggPD0gMHhGKTsKCiAgY29uc3QgY2hhciAqIGRpY3QgPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7CiAgcmV0dXJuIGRpY3RbY2hdOwp9