n 的阶乘,写作 n!,是从 n 一直乘到 1 的所有正整数之积。例如 4! = 4 × 3 × 2 × 1 = 24。为了让定义保持一致,约定 0! = 1;阶乘增长得极快,也正因如此,它成为计数与概率问题的基础工具。
要点速览
5! = 120,10! = 3,628,800,20! = 2,432,902,008,176,640,000。0! = 1:递推关系n! = n × (n − 1)!决定了这一点。- 阶乘增长很快:
6! = 720,7! = 5,040,8! = 40,320。- 在计算器上输入
5!并按下 Enter →= 120。
阶乘是什么
阶乘是一种“倒数相乘”的运算。对于一个正整数 n,把从 n 到 1 之间的每个整数依次相乘,得到的结果就是 n!,读作“n 的阶乘”。
示例 1:计算较小的阶乘。 3! = 3 × 2 × 1 = 6。4! = 4 × 3 × 2 × 1 = 24。5! = 5 × 4 × 3 × 2 × 1 = 120。在计算器上,输入 4! → = 24,输入 5! → = 120。你可以直接输入感叹号,也可以使用 n! 键,两者插入的符号完全相同。
阶乘之间是层层递进的
每一个阶乘都包含了前一个阶乘的结果。既然 5! = 5 × 4 × 3 × 2 × 1,而 4! = 4 × 3 × 2 × 1,那么可以写成 5! = 5 × 4!。推广开来,就是 n! = n × (n − 1)!。后面提到的每一条性质,包括 0! 的取值,都源自这一条规则。
示例 2:递推关系的实际应用。 10! = 10 × 9!。已知 9! = 362,880,可以算出 10! = 10 × 362,880 = 3,628,800。在计算器上,输入 9! → = 362,880,输入 10! → = 3,628,800。
为什么 0! 等于 1
答案由递推关系决定。当 n = 1 时,规则给出 1! = 1 × 0!;既然 1! = 1,那么 0! 必然等于 1。从组合的角度来看也是一样的结论:排列 0 个物体只有“什么都不做”这一种方式,所以只有 1 种排法。两种推理殊途同归,而保持 0! = 1,也让公式 n! = n × (n − 1)! 在每一步都能成立,没有例外。
阶乘数值表
前十个阶乘的值,都可以在计算器上验证:
0! = 1,1! = 1,2! = 2,3! = 6,4! = 24,5! = 120。6! = 720,7! = 5,040,8! = 40,320,9! = 362,880,10! = 3,628,800。
表中每一行都能在计算器上验证:输入 7! → = 5,040,输入 13! → = 6,227,020,800。超出这张表之后,数字很快就会超出日常直觉的范围。13! 已经超过十位数,而 20! = 2,432,902,008,176,640,000,已经超过了最大的 64 位整数所能表示的范围。这么大的结果会以科学计数法显示,科学计数法计算器可以把这种简化形式还原成完整的数字串。
阶乘出现在哪些地方
阶乘用来计数排列方式,而排列在概率问题中随处可见。把 5 本书排成一排的方式数是 5! = 120。从一组元素中挑选一部分并排序,用的是排列,例如 permutations(5,3) → = 60;从一组元素中挑选一部分但不考虑顺序,用的是组合,例如 combinations(52,5) → = 2,598,960,也就是五张牌的扑克手牌总数。这两个公式都用阶乘去除,从而剔除掉不需要的排列方式,这正是排列与组合入门所详细讲解的内容。阶乘计算器把 n!、nPr、nCr 三种运算整合在一起,正好适合这类计算。
示例 3:整副扑克牌。 把 52 张牌全部排成一列的方式数是 52 × 51 × 50 × … × 1,这正是 52! 的展开写法。输入 52!,计算器会返回大约 8.0658e+67,直接以科学计数法显示。这个乘积本身是真实存在的,定义也没有变化,只是显示形式被压缩了。
超越正整数的阶乘
伽玛函数把阶乘的概念延伸到了非整数上。对于正整数 n,两者的关系是 Γ(n) = (n − 1)!,因此该函数能够平滑地填补阶乘数值之间的空白。它常出现在统计学和物理学中,但就计数问题而言,n! 的含义就是定义本身,不需要任何延伸。
常见问题
为什么 0! 等于 1?
因为规则 n! = n × (n − 1)! 只有在 0! = 1 的情况下,才能在 n = 1 时成立。这是一个特意选定的定义,为的是让这条规律永远不会被打破。
如何在计算器上输入阶乘?
先输入数字,再输入感叹号,然后按下 Enter:5! → = 120。n! 键插入的符号是一样的。
可以对分数或负数取阶乘吗?
普通的 n! 运算不支持这么做,它的定义域是从 0 开始的正整数。输入小数或负数会返回错误提示。如果需要扩展的版本,可以使用伽玛函数。
为什么阶乘会增长得这么快?
因为每往前一步都要再乘以一个新的整数,增长速度会不断叠加。从 10! = 3,628,800 开始,再往前推十步,就到了 20! = 2,432,902,008,176,640,000,这也是为什么显示最终会切换成科学计数法的原因。