1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#include <iostream> #include <cstdio> #include <cmath> using namespace std;
char nums[20] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};
int main() { int n, r; scanf("%d %d", &n, &r);
printf("%d=", n);
char ans[10005], cur = 0; while (n != 0) { int mod = n % r; n /= r; if (mod < 0) n++, mod = abs(r) - abs(mod); ans[cur++] = nums[mod]; } for (int i = cur - 1; i >= 0; i--) printf("%c", ans[i]); printf("(base%d)\n", r); return 0; }
|