#include <stdio.h> #include <stdint.h> void print_hex(uint16_t num) { // Your logic here uint8_t nip; uint16_t hex[10]= {0}; char constuct; int i=0; if(num ==0) { printf("%d",num); return; } for(i=0; num>0 ;i++) { nip = num; num= num >> 4; nip = nip << 4; nip = nip >> 4; if(nip >= 0 && nip <= 9 ) hex[i] = nip + '0'; else if( nip >=10 && nip <= 15) hex[i] = nip +'A' - 10; } for(int j=i-1; j>=0 ; j--) { printf("%C",hex[j]); } } int main() { uint16_t num; scanf("%hu", &num); print_hex(num); return 0; }
Test Cases
Test Results
Input
255
Expected Output
FF