#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
// Your logic here
uint16_t temp[200];
int cnt=0;
char hex[] = "0123456789ABCDEF";
if (num==0){
printf("0");
return;
}
if (base==2){
while (num>0){
temp[cnt++]=num%2;
num/=2;
}
}
else {
while (num>0){
temp[cnt++]=hex[num%16];
num/=16;
}
}
for (int i=0;i<cnt;i++){
if (base==2){
printf("%c",temp[cnt-1-i]+'0');
}
else {
printf("%c",temp[cnt-1-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