#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
// Your logic here
char result[20];
int val = num < 0 ? 0 - num : num;
int i = 0;
while (val > 0)
{
int index_s = (val % base);
if (index_s > 10)
{
result[i++] = (index_s - 10) + 'A' ;
//printf("%c" , (index_s) + 'A' );
}
else
{
result[i++] = index_s + '0';
}
val = val /base;
}
if ( num < 0)
{
printf("- ");
}
if (num == 0)
{
printf("%d",num);
}
for (int c = i - 1 ; c >= 0 ; c-- )
{
printf("%c",result[c]);
}
}
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