TOP > 数学 素数 進数変換(Convert-Base) 2018/11/21 • ei1333 説明 10進数 $x$ を $b$ 進数に変換する。 計算量 $O(\log x)$ 実装例 convert_base($x$, $b$):= 10進数 $x$ を $b$ 進数に変換した結果を返す。 template< typename T > vector< T > convert_base(T x, T b) { vector< T > ret; T t = 1, k = abs(b); while(x) { ret.emplace_back((x * t) % k); if(ret.back() < 0) ret.back() += k; x -= ret.back() * t; x /= k; t *= b / k; } if(ret.empty()) ret.emplace_back(0); reverse(begin(ret), end(ret)); return ret; }