#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base)
{
char buffer[17];
int index = 0;
if (base != 2 && base != 16)
return;
if (num == 0)
{
putchar('0');
return;
}
while (num > 0)
{
uint8_t remainder = num % base;
if (remainder < 10)
buffer[index++] = '0' + remainder;
else
buffer[index++] = 'A' + (remainder - 10);
num /= base;
}
// In ra đúng thứ tự
while (index > 0)
{
putchar(buffer[--index]);
}
}
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