#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; }
Test Cases
Test Results
Input
255
Expected Output
FF