#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { // Your logic here if(num == 0){ printf("0"); return; } uint16_t mask = 0xF000; int counter = 0; while((mask&num) == 0){ mask = mask >> 4; counter ++; } for(int i = counter; i<4; i++){ uint16_t val = mask & num; val = val >>( 3-counter)*4; if(val <= 9){ printf("%d", val); }else{ // printf("val: %d\n", val); printf("%c", ('A'+(val-10))); } mask = mask >> 4; counter++; } } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF