#include <stdio.h>
#include <stdint.h>
#include <math.h>
void print_base(uint16_t num, uint8_t base) {
// Your logic here
if (num == 0) {
printf("0");
}
else {
int bits_2 = log2(num);
int bits_16 = bits_2 / 4;
if (base == 2) {
for (int i = bits_2; i >= 0; i--) {
printf("%u", (num >> i) & 1);
}
}
else if (base == 16) {
for (int i = bits_16; i >= 0; i--) {
printf("%X", (num >> (4 * i)) & 0xF);
}
}
}
}
int main() {
uint16_t num;
uint8_t base;
scanf("%hu %hhu", &num, &base);
print_base(num, base);
return 0;
}
Input
10 2
Expected Output
1010