#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
// Your logic here
uint16_t arr[16] = {0};
int i = 15;
if(num == 0) {
printf("0");
return;
}
if(base == 2){
while(num){
arr[i--] = num % 2;
num = num / 2;
}
}
else{
while(num){
arr[i--] = num % 16;
num = num / 16;
}
}
i++;
for(; i < 16; i++){
if(arr[i] == 10) printf("A");
else if(arr[i] == 11) printf("B");
else if(arr[i] == 12) printf("C");
else if(arr[i] == 13) printf("D");
else if(arr[i] == 14) printf("E");
else if(arr[i] == 15) printf("F");
else printf("%u", arr[i]);
}
}
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