0の階乗を1と定義する理由

更新日時 2021/03/07

Q:なぜ 0!=10!=1 なのか?

A:そう定義すると都合がよいから。

正の整数 nn に対して n!n! は「11 から nn まで整数の積」で定義されます。では 0!0! はいくつになるのか,理由とともに解説します。

0の階乗の定義

0!=00!=0 と定義したくなる気持ちも分かりますが,0!=10!=1 と定義した方がいろいろ都合がよいです。

どう都合がよいか大雑把に言うと,0!=10!=1 とすることで,正の整数の階乗を含む「様々な関係式」が 00 の階乗の場合にも成立するようになり統一的に扱える(場合分けが不要)となります。

この記事では「様々な関係式」を説明することで,0!=10!=1 という定義を納得してもらうのが目標です。

階乗の再帰式

(n+1)!=(n+1)n!(n+1)!=(n+1)\cdot n!

これは n1n\geq 1 では明らかに成立する関係式です(これを階乗の定義に使うこともあります)。

0!=10!=1 と定義することで,この式が n=0n=0 でも成り立つ,つまり 1!=10!1!=1\cdot 0! となります。

コンビネーション

nn 個のものから rr 個選ぶ場合の数を nCr{}_n\mathrm{C}_r とすると,1rn11\leq r\leq n-1 のとき,nCr=n!r!(nr)!{}_n\mathrm{C}_r=\dfrac{n!}{r!(n-r)!} を満たします。

0!=10!=1 と定義することで,この式が r=nr=n でも成り立つ,つまり nCn=n!n!0!{}_n\mathrm{C}_n=\dfrac{n!}{n!0!} となります(nn 個のものから nn 個選ぶ方法は一通り)。

マクローリン展開

(高校数学の範囲外です)

0!=10!=1 と定義することでマクローリン展開の公式を

f(x)=n=0f(n)(0)n!xnf(x)=\displaystyle\sum_{n=0}^{\infty}\dfrac{f^{(n)}(0)}{n!}x^n

と簡潔に書くことができます。

例えば,

ex=1+x+x22+x33!e^x=1+x+\dfrac{x^2}{2}+\dfrac{x^3}{3!}-\cdots

cosx=1x22+x44!x66!+\cos x=1-\dfrac{x^2}{2}+\dfrac{x^4}{4!}-\dfrac{x^6}{6!}+\cdots

という式を

ex=x00!+x11!+x22!+x33!e^x=\dfrac{x^0}{0!}+\dfrac{x^1}{1!}+\dfrac{x^2}{2!}+\dfrac{x^3}{3!}-\cdots

cosx=x00!x22!+x44!x66!+\cos x=\dfrac{x^0}{0!}-\dfrac{x^2}{2!}+\dfrac{x^4}{4!}-\dfrac{x^6}{6!}+\cdots

と書くことができます。調和が取れていて美しいです!

ガンマ関数

(こちらも高校数学の範囲外です)

実は,n1n\geq 1 に対して n!=0tnetdtn!=\displaystyle\int_0^{\infty}t^{n}e^{-t}dt という関係式が成立します。

0!=10!=1 と定義すれば,この関係式が n=0n=0 でも成立します。

詳しくはガンマ関数(階乗の一般化)の定義と性質をどうぞ。

定義は約束事であって証明すべきことではありません。 0!=10!=1 を証明して下さいって言われると困っちゃいます。