#include <stdio.h>
#include <stdint.h>
void print_hex(uint16_t num) {
// Your logic here
char buff[5];
int idx = 0;
if(num == 0){
printf("0");
} else {
while(num > 0){
uint16_t digit = num % 16;
if(digit >=0 && digit <= 9){
buff[idx++] = '0' + digit;
}else if(digit >= 10 && digit <= 15){
buff[idx++] = 'A' + (digit - 10);
}
num /= 16;
}
buff[idx] = '\0';
}
for(int i=idx-1;i>=0;i--){
printf("%c",buff[i]);
}
}
int main() {
uint16_t num;
scanf("%hu", &num);
print_hex(num);
return 0;
}
Input
255
Expected Output
FF