#include <stdio.h>
#include <stdint.h>
void printHex(uint8_t val)
{
if(val>=0 && val<=9)
{
printf("%d",val);
}
else
{
printf("%c", val+55);
}
}
void print_hex(uint16_t num) {
// Your logic here
int first = 0;
if(num>>12 & 0xf!=0)
{
first = 1;
printHex(num>>12 & 0xf);
}
if((num>>8 & 0xf)!=0 || (num>>8 & 0xf == 0 && first))
{
printHex(num>>8 & 0xf);
first = 1;
}
if(num>>4 & 0xf!=0 || (num>>4 & 0xf == 0 && first))
{
printHex(num>>4 & 0xf);
}
printHex(num>>0 & 0xf);
}
int main() {
uint16_t num;
scanf("%hu", &num);
print_hex(num);
return 0;
}
Input
255
Expected Output
FF