#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { // Your logic here int buffer[20] = {0}; int i = 0; if(base == 16){ printf("%X", num); }else if(base == 2){ if(num != 0){ while(num>0){ buffer[i++] = (num) & (0x01); num >>=1; //printf("%d", buffer[i-1]); } }else{ printf("%d",0); } } for (int j = i-1; j >= 0; j--){ printf("%d",buffer[j]); } } 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