#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
// Your logic here
bool first_bit=0;
if(num==0)
{
printf("%d",0);
return;
}
if(base==2)
{
for(int i=15; i>=0; i--)
{
if((num >>i)&1)
first_bit=1;
if(first_bit)
{
printf("%d",(num >>i)&1);
}
}
}
else
{
int i=0;
char hex[20];
char temp;
while(num!=0)
{
temp= num%16;
hex[i++] = (temp<10)? (temp+'0') : (temp + 'A'- 10);
num/=16;
}
for (int j = i - 1; j >= 0; j--)
printf("%c", hex[j]);
}
}
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