#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { char buffer[17]; int index = 0; if (base != 2 && base != 16) return; if (num == 0) { putchar('0'); return; } while (num > 0) { uint8_t remainder = num % base; if (remainder < 10) buffer[index++] = '0' + remainder; else buffer[index++] = 'A' + (remainder - 10); num /= base; } // In ra đúng thứ tự while (index > 0) { putchar(buffer[--index]); } } 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