#include <stdio.h> #include <stdint.h> void print_binary(uint16_t val) { // Your logic here uint16_t arr[16] = {0}; int i = 15; int flag = 0; if(val > 255) flag = 1; while (val) { arr[i--] = val % 2; val = val / 2; } if(flag){ for (int i = 0; i < 16; i++) { printf("%u", arr[i]); } } else{ for (int i = 8; i < 16; i++){ printf("%u", arr[i]); } } } int main() { uint16_t val; scanf("%hu", &val); print_binary(val); return 0; } // 10/2 - 0 // 5/2 - 1 // 2/2 - 0 // 1/2 - 1 // 0
Test Cases
Test Results
Input
10
Expected Output
00001010