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: