贡献者: 欄、停敘; addis
在排列组合的学习中,经常会出现多个连续的整数相乘的情形。
例 1 求:从 7 名学生中,选出 3 名学生前后站成一列的方法数
由于三人前后站成一列,所以对确定的三个人 A、B、C,“ABC” 和 “CBA” 是两种站法。因此,分别对三个位置进行考虑,第一个位置可以任选一个人,第二个位置可以从剩下的学生里再选一个人,第三个位置再从剩下的学生里选一个人。由乘法原理,共有 $7\times6\times5=210$ 种方法。
数字少一点还好说,如果数字过多,要么要写一堆的数字和乘号,要么每次都要写……鉴于这个连续相乘的使用次数太多,数学家们发明了一种用来表示连乘的运算:阶乘。当然,虽然说是新运算,也不用太有压力。只要保证见到了能认识,那么觉得 “我多写几遍数字也没事” 的话,自然可以展开来写。事实上,在计算的时候往往是展开来算的,阶乘的出现更多是为了语言表达和书写上的方便。
1. 阶乘
定义 1 阶乘
对自然数12 $n$,所有小于等于 $n$ 的正整数的乘积称为 $n$ 的阶乘(factorial),记作3:
\begin{equation}
n! := 1 \times 2 \times 3 \times \cdots \times(n - 2)\times(n - 1)\times n=\prod_{i = 1}^n i ~.
\end{equation}
特殊地,约定
\begin{equation}
0! := 1~.
\end{equation}
注意,在记录时,这个叹号是英文标点,所以形如 “120 等于 5!” 的玩笑其实是有问题的。下面根据定义来小试牛刀:
例 2 求从 1 到 5 的正整数的乘积
根据定义,这个乘积的结果是 5 的阶乘,因此结果是:
$$5! = 120~.$$
可以看到,使用阶乘后,再也不用一遍遍地写那一长串的数字了。这是节省时间和手力的一大步!
常用的阶乘数值如下
表1:常用阶乘值
n | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
|
n! | 1 | 1 | 2 | 6 | 24 | 120 | 720 | 5040
|
2. 不从 1 开始的连续乘积
从最开始的例题可以看到,其实只有从 1 开始的连乘的场景还不够,我们更多使用的是某几个连续数字的乘积。巧了,利用除法,就可以让两个阶乘做除法来约掉那些不需要的项。下面的两道例题是比较常遇到的情景。
例 3 用阶乘表示"从某个自然数 m 到另一个自然数 n 的连续整数的乘积"
\begin{align*}
m\times(m+1)\times\cdots \times(n-1)\times n&={1\times\cdots \times(m-1)\times m\times(m+1)\cdots \times(n-1)\times n\over 1\times\cdots \times(m-1)}\\
&={n!\over (m-1)!}~.
\end{align*}
例 4 用阶乘表示"从自然数 n 开始依次递减的 m 个数的乘积"
\begin{align*}
n\times(n-1)\times\cdots \times[n-(m-2)]\times [n-(m-1)]&={n\times\cdots \times [n-(m-1)]\times(n-m)\times\cdots\times1\over (n-m)\times\cdots \times1}\\
&={n!\over (n-m)!}~.
\end{align*}
因此,例 1 表示的就是 “从自然数 7 开始依次递减的 3 个数的乘积”,可以简单写为:
$${7!\over (7-3)!}={7!\over 4!}={5040\over 24}=210.~$$
当然,在计算的时候,因为小学口算能力练的太溜了,展开来算要快得多。但自此,所有的连续正整数的乘积我们都能够快速表示出来了,至于算的事,要是太大的话未来交给计算器就好了。
3. *双阶乘
这一部分内容事实上并不在高中的范畴之内,在高中阶段的同学不阅读下面的内容,也没问题。在此一并介绍,是因为 “双阶乘” 的概念理解起来很容易,供感兴趣的同学开拓视野以及参考。
从上面的定义可以看出,不论是描述从 $1$ 开始到 $n$ 还是从某个数 $m$ 开始到 $n$ 的乘积,阶乘对应的都是连续的间隔为 $1$ 的序列。那么,如果想求间隔是 $2$ 的数字做乘法该怎么办呢?这个问题是有实际应用场景的,例如,想要表示 “小于某个偶数 $k$ 的所有偶数的乘积”。这个问题用阶乘是做不到的,数学上采用双阶乘来表示间隔为 2 的序列的乘积4。
定义 2 双阶乘
对自然数 $n$,从 $n$ 开始逐次减 $2$ 的所有正整数的乘积称为 $n$ 的双阶乘(double factorial),记作:
\begin{equation}
n!! :=
\begin{cases}
n \times (n-2) \times (n-4)\times \cdots \times6\times4\times 2\qquad (n\text{是偶数})\\
n \times (n-2) \times (n-4)\times \cdots \times5\times3\times 1\qquad (n\text{是奇数})
\end{cases} ~.
\end{equation}
特殊地,约定
\begin{equation}
0!! := 1,(-1)!!=1.~
\end{equation}
例 5 求小于 9 的所有偶数的积
根据定义,这个乘积的结果是 8 的双阶乘,因此结果是:
$$8!!=384.~$$
1. ^ 所有非负整数都叫自然数,即 1,2,3……
2. ^ 拓展知识:阶乘的定义本身只限于自然数。但随着研究深入,偶尔会出现使用分数等数值的阶乘的场景,为此,欧拉推导了Gamma 函数$\Gamma(x)$ 实现了对阶乘的解析延拓,即:1.保证它的函数值与阶乘对应 $\Gamma(n)=(n-1)!$;2.保证自变量取其他实数值(如:部分负数、分数、和无理数等)时也可以有结果;3.函数的性质满足特定条件。于是,数学中也经常会用 “Gamma 函数” 来代替需要表达 “阶乘” 概念的场合。
3. ^ $\prod_{i = 1}^n i$ 是使用求积符号来简写乘积,它和阶乘一样是一个简记符号,如果觉得复杂先忽略也不影响。
4. ^ 聪明的你一定可以联想到,类似的还可以定义 $n$ 阶乘,即有 “$n$ 个 $!$” 或记作 $!^n$