#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { // Your logic here char result[20]; int val = num < 0 ? 0 - num : num; int i = 0; while (val > 0) { int index_s = (val % base); if (index_s > 10) { result[i++] = (index_s - 10) + 'A' ; //printf("%c" , (index_s) + 'A' ); } else { result[i++] = index_s + '0'; } val = val /base; } if ( num < 0) { printf("- "); } if (num == 0) { printf("%d",num); } for (int c = i - 1 ; c >= 0 ; c-- ) { printf("%c",result[c]); } } 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