#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { // Your logic here int i = 0; char buf[20]; char digit[20] = "0123456789ABCDEF"; if(num == 0){ printf("0"); return; } while(num > 0){ // int rem = num % base; // if(rem < 10){ // buf[i] = rem + '0'; // }else{ // buf[i] = 'A' + (rem -10); // } // i++; // num = num /base; buf[i++] = digit[num % base]; num = num / base; } for (int j = i - 1; j >= 0; j--) { putchar(buf[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