#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;
}
Input
10 2
Expected Output
1010