#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { // Your logic here uint16_t temp[200]; int cnt=0; char hex[] = "0123456789ABCDEF"; if (num==0){ printf("0"); return; } if (base==2){ while (num>0){ temp[cnt++]=num%2; num/=2; } } else { while (num>0){ temp[cnt++]=hex[num%16]; num/=16; } } for (int i=0;i<cnt;i++){ if (base==2){ printf("%c",temp[cnt-1-i]+'0'); } else { printf("%c",temp[cnt-1-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