#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { bool start = false; if (base == 2) { for (int8_t i = 8-1; i >= 0; i--) { char val = (num & (1 << i)) ? '1' : '0'; if ((val != '0' || i == 0) && start == false) { start = true; } if(start) { putchar(val); } } }else if (base == 16) { for (int i = 2 - 1; i>=0; i--) { uint8_t val = (num >> 4*i) & 0x0F; putchar((val >= 0 && val <= 9) ? (val + '0') : (val-10 + 'A')); } } } int main() { uint16_t num; uint8_t base; scanf("%hu %hhu", &num, &base); print_base(num, base); return 0; }
Test Cases
Test Results
Input
10 2
Expected Output
1010