D - 表現の自由 ( Freedom of expression ) Editorial by maspy
素因数分解の一意性より,\(0\) でない整数の \(M\) 個組 \((A_1, \ldots, A_M)\) を定めることは,
- 各 \(A_i\) の符号
- 各素数 \(p\) に対して,\(A_i\) が \(p\) で割り切れる回数
を定めることと等価です.総積が \(N\) という条件は,符号と \(p\) ごとの条件に分離できます.
符号の定め方は,\(2^{M-1}\) 通りです.これは,\(A_M\) 以外の符号を定めたときに \(A_M\) の定め方がひとつに決まることから分かります.
\(N\) が \(p\) でちょうど \(e\) 回割れるとき,\(A_i\) が \(p\) で割れる回数を定める方法がいくつあるかを考えます.これは次のような数え上げです:
非負整数列 \((x_1, \ldots, x_M)\) であって,\(\sum_i x_i = e\) となるものの総数を求めよ.
これは二項係数 \(\binom{M+e-1}{e}\) に等しいです(「重複組み合わせ」「負の二項定理」などで調べてみてください).
結局,\(|N|\) の素因数分解を \(|N| = \prod_i p_i^{e_i}\) とするとき,答は \(2^{M-1}\prod_i \binom{M+e-1}{e}\) です.
posted:
last update: