#include <stdio.h> #include <stdint.h> char hexc[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; void print_hex(uint16_t num) { int i = 4; uint16_t mask = ((1 << 4) - 1) << 12; while (!(num & mask) && i) { i--; mask >>= 4; } if (!mask) { printf("0"); return; } while (i--) printf("%c", hexc[(num >> (4 * i)) & 0xf]); } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF