https://atcoder.jp/contests/past202012-open/tasks/past202012_c
解説
https://atcoder.jp/contests/past202012-open/submissions/22280794
10進数から他の進法への変換アルゴリズムをそのまま適用する。
36進数になるので、36で割った余りを下から文字列化していく。
「進数変換 やり方」あたりでググればより良い文献を見つけることができるだろう。
実装によりけりであるが、N=0がコーナーケースとなりうる。
自分の場合はそうだったので、別途扱って出力している。
int N; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; if (N == 0) { cout << 0 << endl; return; } string ans = ""; while (0 < N) { int d = N % 36; N /= 36; if (0 <= d && d < 10) ans = char('0' + d) + ans; else ans = char('A' + d - 10) + ans; } cout << ans << endl; }