#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { if(num==0) { printf("0"); return; } char digits[]="0123456789ABCHEF"; char buffer[33]; // 32 bits max + 1 for null terminator int i = 0; while(num>0) { buffer[i++] = digits[num%base]; num = num / base; } for (int j = i - 1; j >= 0; j--) { putchar(buffer[j]); } putchar('\n'); } 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