#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { if (base < 2 || base > 16) return; if (num == 0) { printf("0"); return; } char digits[] = "0123456789ABCDEF"; char res[20]; int idx = 0; while (num > 0){ res[idx] = digits[num % base]; ++idx; num = num/base; } for (int j = idx - 1; j >= 0; --j){ printf("%c", res[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