階乗に含まれる素因数の個数(Legendre's formula for factorials)とは、素数 $p$ と正の整数 $n$ について、$n!$ が $p$ で何回割り切れるか($n!$ の素因数分解での $p$ の指数)を数えるもので、Legendre の公式 $\sum_{k\ge1}[n/p^k]$($[x]$ はガウス記号)で与えられる。$1$ から $n$ までの各数の $p$ の個数を、$p^k$ の倍数の個数として段ごとに数え直すと得られる。$n$ を $p$ 進法で書いたときの数字の和 $s_p(n)$ を使うと $(n-s_p(n))/(p-1)$ とも書ける。$n!$ の末尾の $0$ の個数は $5$ の個数に等しく、$\binom{2n}{n}$ を割り切る $p$ の累乗は $2n$ 以下である。
前提知識: ガウス記号と整数の個数, 素因数分解の一意性, 階乗
$10!=1\cdot2\cdot3\cdots10=3628800$ を素因数分解したいとき、$3628800$ を割り始める必要はない。$1$ から $10$ までの各数を素因数分解して、同じ素数を集めればよい。この記事では、$n!$ に素数 $p$ がちょうど何個含まれるかを、ガウス記号の和で表す公式(Legendre の公式)を証明し、$n!$ の末尾の $0$ の個数や二項係数の素因数分解に使う。
$1$ から $10$ までのうち $2$ を含むのは偶数 $2,4,6,8,10$ で、それぞれ $2=2$、$4=2^2$、$6=2\cdot3$、$8=2^3$、$10=2\cdot5$ なので、$2$ を $1,2,1,3,1$ 個ずつ含む。合計は $1+2+1+3+1=8$ 個である。同じように $3$ は $3,6,9=3^2$ から $1+1+2=4$ 個、$5$ は $5,10$ から $2$ 個、$7$ は $1$ 個なので
$$
10!=2^8\cdot3^4\cdot5^2\cdot7
$$
である。検算:$256\cdot81\cdot25\cdot7=3628800$。
ex-lgf-start-ten の $2$ の個数を、別の順で数える。$10$ 以下の $2$ の倍数 $2,4,6,8,10$ から $2$ を $1$ 個ずつ取ると $5$ 個。そのうち $4$ の倍数 $4,8$ には $2$ がもう 1 個ずつ残っているので $2$ 個。さらに $8$ の倍数 $8$ にもう 1 個。合計 $5+2+1=8$ 個で、同じ答えになる。$5,2,1$ はそれぞれ $\left[\dfrac{10}2\right]$、$\left[\dfrac{10}4\right]$、$\left[\dfrac{10}8\right]$ である。
$25!=15511210043330985984000000$ の末尾には $0$ が $6$ 個並ぶ。$10=2\cdot5$ なので、末尾の $0$ の個数は、$25!$ に含まれる $5$ の個数と $2$ の個数の少ない方である。$5$ の倍数 $5,10,15,20,25$ は $5$ 個だが、$25=5^2$ は $5$ を $2$ 個含むので、$5$ の個数は $5+1=6$ 個である。
この記事で答える問いは次の 4 つである。
| 高校の計算 | この記事の言葉 | 大学の言葉 |
|---|---|---|
| $2$ で何回割り切れるか | 素因数 $p$ の個数 $v_p(m)$(def-lgf-vp) | p進付値 |
| 倍数の個数を段ごとに足す | Legendre の公式(thm-lgf-legendre) | 和の順序の入れかえ |
| $n!$ の末尾の $0$ | $v_5(n!)$(prop-lgf-zeros) | $\min\bigl(v_2(n!),v_5(n!)\bigr)$($10=2\cdot5$ を素因数ごとに見る) |
| $n$ の $p$ 進法の数字の和 | thm-lgf-digit-sum | Kummer の定理 |
$p$ を素数、$m$ を正の整数とする。$m$ を素因数分解したときの $p$ の指数、つまり $p^e\mid m$ となる最大の $0$ 以上の整数 $e$ を、$m$ に含まれる 素因数 $p$ の個数 といい、$v_p(m)$ と書く。$m$ が $p$ で割り切れなければ $v_p(m)=0$ である。
$p^e\mid m$ となる $e$ に最大のものがあるのは、$p^e\ge2^e>m$ となる $e$ では $p^e\nmid m$ だからである。「$p$ で何回続けて割り切れるか」と言っても同じである。大学では $v_p$ を $p$ 進付値とよぶ(p進付値)。
$p$ を素数、$a,b$ を正の整数とすると、$v_p(ab)=v_p(a)+v_p(b)$ である。したがって、正の整数 $m_1,\dots,m_n$ について $v_p(m_1m_2\cdots m_n)=v_p(m_1)+\cdots+v_p(m_n)$ である。
方針:$a$ と $b$ の素因数分解を掛けたものが $ab$ の素因数分解になり、素因数分解がただ 1 通りであることから指数を読む。
段 1。$a=p^{v_p(a)}a'$、$b=p^{v_p(b)}b'$($a',b'$ は $p$ で割り切れない)と書ける。掛けると $ab=p^{v_p(a)+v_p(b)}\,a'b'$ である。
段 2。$a'$ と $b'$ の素因数分解には $p$ が現れないので、$a'b'$ の素因数分解($a'$ と $b'$ の分解を並べたもの)にも $p$ は現れない。素因数分解の一意性 により $ab$ の素因数分解はこれしかないので、$ab$ の分解での $p$ の指数は $v_p(a)+v_p(b)$ である。
段 3。$n$ 個の積は、2 個の積の場合を $n-1$ 回くり返して使えばよい。$\square$
prop-lgf-product により、$n!$ に含まれる $p$ の個数は、$1$ から $n$ までの各数に含まれる $p$ の個数の和
$$
v_p(n!)=v_p(1)+v_p(2)+\cdots+v_p(n)
$$
である。ex-lgf-start-ten はこの和を直接計算したものだった。
$p$ を素数、$n$ を正の整数とする。$n!$ に含まれる素因数 $p$ の個数は
$$
v_p(n!)=\left[\frac np\right]+\left[\frac n{p^2}\right]+\left[\frac n{p^3}\right]+\cdots=\sum_{k=1}^\infty\left[\frac n{p^k}\right]
$$
である($[x]$ はガウス記号)。$p^k>n$ となる $k$ では $\left[\dfrac n{p^k}\right]=0$ なので、右辺は実際には有限個の和である。
方針:$1$ から $n$ までの各数 $m$ の上に、$m$ に含まれる $p$ の個数だけ箱を積む(図 1)。箱の総数を「数ごと(縦)」と「段ごと(横)」の 2 通りに数える。
段 1(箱の置き方)。$m=1,\dots,n$ と $k=1,2,\dots$ について、$p^k\mid m$ のとき、そしてそのときに限り、位置 $(m,k)$ に箱を 1 つ置く。
段 2(縦に数える)。数 $m$ を固定する。$p^k\mid m$ となる $k\ge1$ は、def-lgf-vp により $k=1,2,\dots,v_p(m)$ である($p^k\mid m$ なら $p^{k-1}\mid m$ なので、割り切る $k$ は $1$ から切れ目なく並ぶ)。よって $m$ の列の箱は $v_p(m)$ 個で、箱の総数は $v_p(1)+\cdots+v_p(n)=v_p(n!)$ である(prop-lgf-product)。
段 3(横に数える)。段 $k$ を固定する。段 $k$ の箱は、$1$ 以上 $n$ 以下の $p^k$ の倍数 $m$ に 1 つずつある。その個数は $\left[\dfrac n{p^k}\right]$ である(ガウス記号と整数の個数 の定理「倍数の個数」)。よって箱の総数は $\sum_{k\ge1}\left[\dfrac n{p^k}\right]$ である。
段 4。$p^k>n$ なら $1$ 以上 $n$ 以下に $p^k$ の倍数はないので、段 $k$ は空である。したがって段 3 の和は有限個の和で、段 2 と段 3 は同じ箱を数えているので等しい。$\square$
16! に含まれる 2 の個数。数 m の列に v₂(m) 個の箱を積む。縦に足すと各数の 2 の個数の和、横に足すと 2・4・8・16 の倍数の個数 8+4+2+1 で、どちらも 15
計算では、$\left[\dfrac n{p^{k+1}}\right]=\left[\dfrac{[n/p^k]}p\right]$ を使うと、前の項を $p$ で割って切り捨てるだけで次の項が出る((4) の $50\to25\to12\to6\to3\to1$)。この等式は、$[n/p^k]=q$ とおいて $n=p^kq+r$($0\le r< p^k$)、$q=pq'+r'$($0\le r'< p$)と割ると、$n=p^{k+1}q'+(p^kr'+r)$ で $0\le p^kr'+r\le p^k(p-1)+p^k-1< p^{k+1}$ となることから分かる。
正の整数 $n$ について、$n!$ を 10 進法で書いたときの末尾に並ぶ $0$ の個数は
$$
v_5(n!)=\left[\frac n5\right]+\left[\frac n{25}\right]+\left[\frac n{125}\right]+\cdots
$$
である。
方針:末尾の $0$ の個数は $10^e\mid n!$ となる最大の $e$ であり、それは $v_2(n!)$ と $v_5(n!)$ の小さい方である。$v_2(n!)\ge v_5(n!)$ を Legendre の公式の項ごとの比較で示す。
段 1(末尾の $0$ と割り切り)。$n!$ の末尾に $0$ がちょうど $e$ 個並ぶことは、$10^e\mid n!$ かつ $10^{e+1}\nmid n!$ と同値である(末尾の $0$ を $e$ 個取り去った数の一の位が $0$ でない、ということなので)。
段 2($10^e\mid n!$ の条件)。$10^e=2^e5^e$ なので、素因数分解の一意性 により、$10^e\mid n!$ は $e\le v_2(n!)$ かつ $e\le v_5(n!)$ と同値である。よって末尾の $0$ の個数は $\min\bigl(v_2(n!),v_5(n!)\bigr)$ である。
段 3(比較)。各 $k$ で $2^k\le5^k$ なので $\dfrac n{2^k}\ge\dfrac n{5^k}$ で、ガウス記号は大小を保つので $\left[\dfrac n{2^k}\right]\ge\left[\dfrac n{5^k}\right]$ である。$k$ について足すと、thm-lgf-legendre により $v_2(n!)\ge v_5(n!)$ である。したがって最小値は $v_5(n!)$ である。$\square$
$25!$ の末尾の $0$ を「$25$ 以下の $5$ の倍数の個数」$\left[\dfrac{25}5\right]=5$ と数えると、$25=5^2$ の 2 個目の $5$ を落とすので $1$ 個少ない。また「$10$ の倍数の個数」$\left[\dfrac{25}{10}\right]=2$ と数えるのは、$5\cdot2$ や $15\cdot4$ のように、$10$ の倍数でない数どうしの積から生まれる $0$ を数えていないので誤りである。thm-lgf-legendre は素因数を 1 個ずつ数えているので、高い累乗も、積の組み合わせも正しく数えられる。
thm-lgf-legendre の $p$ を素数でない $4$ に替えた式 $\left[\dfrac n4\right]+\left[\dfrac n{16}\right]+\cdots$ は、$n!$ が $4$ で何回割り切れるかを表さない。$n=6$ では $6!=720=4\cdot180=4^2\cdot45$ で、$4$ で $2$ 回割り切れるが、式の値は $\left[\dfrac64\right]=1$ である。$2\cdot6=12$ のように、$4$ の倍数でない $2$ と $6$ から $4$ が 1 つできるのを数えていないからである。$4$ で割り切れる回数を $v_4(m)$ と書くと、$4^k\mid m$ となる $k\ge1$ はちょうど $k=1,\dots,v_4(m)$ なので、証明の段 2 の「$m$ の列の箱の数は $v_4(m)$」までは $4$ でも成り立つ。$p$ が素数であることを使ったのは、段 2 の最後の等号で使う prop-lgf-product(積に含まれる個数は各因数の個数の和)である。$4$ では $v_4(2)+v_4(6)=0+0$ なのに $v_4(2\cdot6)=v_4(12)=1$ となり、$v_4(1)+\cdots+v_4(n)=v_4(n!)$ が崩れる。$4$ については、$v_2(6!)=4$ を $2$ で割って $4^2$ と求めればよい。
ex-lgf-legendre の (4) で $v_2(100!)=97$ となった。$100$ との差 $3$ は、$100=1100100_{(2)}$ の数字の和 $1+1+0+0+1+0+0=3$ に等しい。これは偶然ではない($p$ 進法の書き方と、下の位から数字を求める方法は n進法と記数法 で扱う)。
$p$ を素数、$n$ を正の整数とし、$n$ を $p$ 進法で $n=a_ka_{k-1}\cdots a_1a_0{}_{(p)}$ と書く。その数字の和を $s_p(n):=a_0+a_1+\cdots+a_k$ とおくと
$$
v_p(n!)=\frac{n-s_p(n)}{p-1}
$$
である。
方針:$\left[\dfrac n{p^j}\right]$ は「$n$ の $p$ 進法の数字の下 $j$ 桁を取り去った数」である。これを Legendre の公式に代入し、数字ごとに集めて等比数列の和を使う。
段 1(下の桁を取り去る)。$1\le j\le k$ について
$$
\frac n{p^j}=\bigl(a_kp^{k-j}+\cdots+a_{j+1}p+a_j\bigr)+\frac{a_{j-1}p^{j-1}+\cdots+a_1p+a_0}{p^j}
$$
である。右辺の括弧の中は整数である。後ろの分数の分子は $0$ 以上で、各数字が $p-1$ 以下なので $(p-1)(p^{j-1}+\cdots+1)=p^j-1$ 以下であり、分数は $0$ 以上 $1$ 未満である。よって $\left[\dfrac n{p^j}\right]=a_kp^{k-j}+\cdots+a_{j+1}p+a_j$ である。$j>k$ では $n< p^{k+1}\le p^j$ なので $0$ である。
段 2(数字ごとに集める)。thm-lgf-legendre に段 1 を代入すると
$$
v_p(n!)=\sum_{j=1}^k\ \sum_{i=j}^ka_ip^{i-j}
$$
である。数字 $a_i$ が現れるのは $j=1,\dots,i$ の $i$ 回で、係数は $p^{i-1},p^{i-2},\dots,1$ なので、$a_i$ についてまとめると
$$
v_p(n!)=\sum_{i=0}^ka_i\bigl(p^{i-1}+p^{i-2}+\cdots+1\bigr)=\sum_{i=0}^ka_i\,\frac{p^i-1}{p-1}
$$
である($i=0$ の項は $0$。等比数列の和の公式、等差数列と等比数列)。
段 3。右辺は $\dfrac1{p-1}\Bigl(\sum_ia_ip^i-\sum_ia_i\Bigr)=\dfrac{n-s_p(n)}{p-1}$ である。$\square$
n! に含まれる 2 の個数(青の階段)と直線 y=n。差(赤)は n を 2 進法で書いたときの 1 の個数
正の整数 $n$ について $v_2(n!)=n-s_2(n)\le n-1$ である。したがって $n!$ は $2^n$ で割り切れない。$v_2(n!)=n-1$ となるのは、$n$ が $2$ の累乗のときに限る。
方針:thm-lgf-digit-sum で $p=2$ とし、数字の和 $s_2(n)$ の大きさを見る。
段 1。$p-1=1$ なので $v_2(n!)=n-s_2(n)$ である。
段 2。$n\ge1$ なので、2 進法の数字には $1$ が少なくとも 1 つあり、$s_2(n)\ge1$ である。よって $v_2(n!)\le n-1< n$ で、$2^n\nmid n!$ である。
段 3。等号 $s_2(n)=1$ は、2 進法の数字に $1$ がちょうど 1 つ、つまり $n=10\cdots0_{(2)}=2^m$ のときに限る。$\square$
図 2 の階段が直線 $y=n$ に最も近づく(差が $1$ になる)のは、$n=1,2,4,8,16,32,64$ のところである。
$\dbinom{2n}n=\dfrac{(2n)!}{n!\,n!}$ なので、prop-lgf-product により
$$
v_p\binom{2n}n=v_p\bigl((2n)!\bigr)-2v_p(n!)=\sum_{k\ge1}\left(\left[\frac{2n}{p^k}\right]-2\left[\frac n{p^k}\right]\right)
$$
である。$\dbinom{2n}n\cdot n!\,n!=(2n)!$ の両辺の $v_p$ を比べて引き算した。この和の各項は小さい。
$p$ を素数、$n$ を正の整数とする。
方針:実数 $x$ について $[2x]-2[x]$ が $0$ か $1$ であることを示し、$x=\dfrac n{p^k}$ に使う。2・3 では、和のうち $0$ でない可能性のある項を直接計算する。
段 1($[2x]-2[x]$ は $0$ か $1$)。$x=[x]+f$($0\le f<1$)と書くと $2x=2[x]+2f$ で、$2[x]$ は整数なので $[2x]=2[x]+[2f]$ である(ガウス記号と整数の個数 の基本性質「整数を足すと整数だけずれる」)。$0\le2f<2$ なので $[2f]$ は $0$ か $1$ であり、$[2x]-2[x]=[2f]$ も $0$ か $1$ である。
段 2(1 の証明)。段 1 を $x=\dfrac n{p^k}$ に使うと、各項は $0$ か $1$ である。$p^k>2n$ なら $\left[\dfrac{2n}{p^k}\right]=\left[\dfrac n{p^k}\right]=0$ なので項は $0$ である。$p^k\le2n$ となる $k\ge1$ は $k=1,\dots,K$($K$ は $p^K\le2n$ となる最大の $k$。$p>2n$ なら $K=0$)なので、$v_p\dbinom{2n}n\le K$ で、$p^{v_p\binom{2n}{n}}\le p^K\le2n$ である。
段 3(2 の証明)。$n< p\le2n$ とする。$p\ge2$ と $p>n$ から $p^2\ge2p>2n$ なので、$k\ge2$ の項は $0$ である。$k=1$ の項は、$1\le\dfrac{2n}p<2$ から $\left[\dfrac{2n}p\right]=1$、$0<\dfrac np<1$ から $\left[\dfrac np\right]=0$ で、$1-0=1$ である。
段 4(3 の証明)。$p\ge3$、$\dfrac{2n}3< p\le n$ とする。$p^2\ge3p>2n$ なので $k\ge2$ の項は $0$ である。$k=1$ の項は、$2\le\dfrac{2n}p<3$ から $\left[\dfrac{2n}p\right]=2$、$1\le\dfrac np<\dfrac32$ から $\left[\dfrac np\right]=1$ で、$2-2\cdot1=0$ である。$\square$
$n=2$、$p=2$ とすると $\dfrac{2n}3=\dfrac43<2\le2=n$ だが、$\dbinom42=6$ は $2$ で割り切れる。prf-lgf-central の段 4 で使った $p^2\ge3p>2n$ が、$p=2$ では $4>4$ とならず成り立たない($k=2$ の項 $\left[\dfrac44\right]-2\left[\dfrac24\right]=1$ が残る)からである。
thm-lgf-digit-sum を $\dbinom{a+b}a=\dfrac{(a+b)!}{a!\,b!}$ に使うと
$$
v_p\binom{a+b}a=\frac{(a+b)-s_p(a+b)}{p-1}-\frac{a-s_p(a)}{p-1}-\frac{b-s_p(b)}{p-1}=\frac{s_p(a)+s_p(b)-s_p(a+b)}{p-1}
$$
となる。$a$ と $b$ を $p$ 進法の筆算で足すとき、ある位で繰り上がりが起こると、その位の数字の和から $p$ が引かれて上の位に $1$ が足されるので、数字の和は $p-1$ だけ減る。したがって右辺は「$a+b$ を $p$ 進法で計算したときの繰り上がりの回数」に等しい。これが Kummer の定理である(証明は 二項係数 の記事の定理「Kummer の定理」)。
たとえば $10=1010_{(2)}$ を 2 回足す筆算 $1010_{(2)}+1010_{(2)}=10100_{(2)}$ では、$2$ の位と $8$ の位で繰り上がりが起こる。$s_2(10)+s_2(10)-s_2(20)=2+2-2=2$ で、$v_2\dbinom{20}{10}=2$ と一致する(ex-lgf-central の 2)。
prop-lgf-central の 1 は、$\dbinom{2n}n$ がそれほど多くの素数を含めないことを言っている。これを使うと、$2n$ 以下の素数の個数を下から見積もれる。
$x$ 以下の素数の個数を $\pi(x)$ と書く。
段 1(上から)。$\dbinom{2n}n$ は $(2n)!$ の約数なので、その素因数は $2n$ 以下である。prop-lgf-central の 1 により、各素因数 $p$ からの寄与 $p^{v_p}$ は $2n$ 以下なので
$$
\binom{2n}n=\prod_{p\le2n}p^{v_p\binom{2n}{n}}\le(2n)^{\pi(2n)}
$$
である。
段 2(下から)。二項定理と組合せの恒等式 により $\dbinom{2n}0+\dbinom{2n}1+\cdots+\dbinom{2n}{2n}=2^{2n}=4^n$ である。隣どうしの比 $\dbinom{2n}{k+1}\Big/\dbinom{2n}k=\dfrac{2n-k}{k+1}$ は $k\le n-1$ で $1$ 以上、$k\ge n$ で $1$ 未満なので、$2n+1$ 個の項の中で $\dbinom{2n}n$ が最大である。よって $4^n\le(2n+1)\dbinom{2n}n$ である。
段 3。2 つを合わせて対数をとると
$$
\pi(2n)\ge\frac{n\log4-\log(2n+1)}{\log(2n)}
$$
である。たとえば $n=50$ では右辺は約 $14.05$ で、実際の $\pi(100)=25$ はこれ以上である。右辺はおよそ $\dfrac{2n}{\log(2n)}$ の $\log2$ 倍であり、素数が「$x$ 以下におよそ $\dfrac x{\log x}$ の定数倍」あることの下半分を、階乗の素因数の数え方だけで示したことになる。同じ種類の議論で上からの評価も得られる(Mos11 Chapter 3。上からの評価は Theorem 1・2、この下からの評価は Theorem 3 と同じ議論である。$\pi(x)$ が $\dfrac x{\log x}$ に近いという 素数定理 は、本記事では証明しない)。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する