#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { // Your logic here if(num==0) { printf("%d",num); } else { char str[4]; int i=3,digit; while (i >= 0) { digit = num & 0xF; if (digit < 10) str[i] = digit + '0'; else str[i] = digit - 10 + 'A'; num >>= 4; // move next nibble i--; } for(i=0;i<4;i++) { if(str[i]!='0') printf("%c",str[i]); } } } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF