#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
// Your logic here
int divider = 0;
divider = (base == 2?2:16);
char str[16];
int index = 0;
char hexlist[] = "0123456789ABCDEF";
if(num == 0)
{
printf("0");
return;
}
while(num>0)
{
if(divider==2)
{
str[index++] = hexlist[num&1];
num >>= 1;
}
else
{
str[index++] = hexlist[num&0xf];
num >>= 4;
}
}
for(int i = index - 1;i>=0;i--)
{
printf("%c",str[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