#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { // Your logic here if (base == 2) { int n = 0; if (num > 0x0f) n = 7; else if (num > 0x00) n = 3; else n = 0; for (int i = n; i >= 0; i--) { printf("%d",(num>>i)&1); } } else { uint8_t temp[2]; uint16_t val_temp = num; for (int i = 0; i < 2; i++) { temp[1-i] = val_temp % 16; val_temp = val_temp / 16; } for (int i = 0; i < 2; i++){ printf("%c",(temp[i] < 10) ? ('0' + temp[i]):('A' + temp[i] - 10)); } } } 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