#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base){
if(num==0){printf("0"); return;}
char arr[500];int i=0,re,j;
if(base==2){
while(num){
arr[i]=(num%2)+'0';
i++;
num=num/2;}
}
else{
while(num){
re=num%16;
if(re>9){
if(re==10){arr[i]='A';
i++;}
else if(re==11){arr[i]='B';i++;}
else if(re==12){
arr[i]='C';i++;
}
else if(re==13){
arr[i]='D';i++;
}
else if(re==14){
arr[i]='E';i++;
}
else{
arr[i]='F';i++;
}
}
else{
arr[i]=re+'0';
i++;
}
num=num/16;
}
}
arr[i]='\0';
for(j=i-1;j>=0;j--){
printf("%c",arr[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