#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { int l=num>=128?8:4; if(num==0) { printf("0"); return; } if(base==2){ for(int i=l-1;i>=0;i--){ if(num&(1<<i)){ printf("1"); } else printf("0"); } } else{ int i=0,c=0; char str[5]; while(num){ int r=num%16; if(r>9){ str[c++]=r+('A'-10); } else{ str[c++]=r+'0'; } num=num/16; } for(int i=c-1;i>=0;i--){ printf("%c",str[i]); } } } int main() { uint16_t num; uint8_t base; scanf("%hu %hhu", &num, &base); print_base(num, base); return 0; }
Test Cases
Test Results
Input
10 2
Expected Output
1010