#include <stdio.h> #include <stdint.h> void reverse(char *s){ char *temp = s; while(*s){ s++; } s--; while(temp<s){ char t = *temp; *temp = *s; *s = t; temp++; s--; } } void print_base(uint16_t num, uint8_t base) { char s[100]; int k = 0; if(num==0){ s[k++] = '0'; s[k] = '\0'; } while(num>0){ int rem = num%base; if(rem<9){ s[k++] = rem + '0'; }else{ s[k++] = (rem - 10) + 'A'; } num/=base; } s[k] = '\0'; reverse(s); printf("%s",s); } 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