1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <bits/stdc++.h> using namespace std;
int main() { string ans; int num, mod, p, q, r; cin >> num >> mod; p = num; while (p || p % mod < 0) { q = p; r = p % mod, p /= mod; while (r < 0) r = q - (++p * mod); ans += (r >= 10 ? (char)(r - 10 + 'A') : (char)(r + '0')); } reverse(ans.begin(), ans.end()); cout << num << "=" << ans << "(base" << mod << ")"; return 0; }
|