#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
if( base == 2){
uint8_t byte = num;
if((byte >> 4) & 0xf){
for(int i = 7; i >= 0; i--){
printf("%d", (byte >> i) & 1);
}
}
else if(byte & 0xf){
for(int i = 3; i >= 0; i--){
printf("%d", (byte >> i) & 1);
}
}
else{
printf("%d", 0);
}
}
else{
uint16_t byte2 = num;
printf("%X", byte2);
}
}
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