#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
// Your logic here
// uint32_t res =0;
char arr[10]={0};
uint8_t index=0;
// for (int i=7; i>=0; i--)
// {
// printf("%d",(num>>i)&0x01);
// }
// // printf("res =%d \n",res);
// while(num != 0)
// {
// arr[index] = (num>>index)&0x01;
// // num = (num>>index)&0x01;
// printf("(num>>index)&0x01=%d num%2=%d\n",(num>>index)&0x01,num%2);
// index++;
// num = num/2;
// }
if(num == 0)
{
printf("0");
return;
}
const char ct_arr[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
while(num != 0)
{
arr[index] = ct_arr[num%base];
num /= base;
index++;
}
for (int i=index-1; i>=0; i--)
{
printf("%c",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