Skip to content

定义Definition

阶乘

施工中 · 内容逐步修订

Factorial

前 n 个正整数的乘积 n!,并约定 0!=1。

形式陈述 ​

对非负整数 n,阶乘定义为

0!=1,n!=∏j=1nj(n≥1).

等价的递推定义是 n!=n(n−1)!,适用范围为 n≥1。因此 1!=1,2!=2,3!=6,4!=24。在 n=0 时没有要相乘的因子,乘积采用乘法单位元 1;它不是包含因子零的乘积。

直觉

把 n 个不同对象排进 n 个有区别的位置。第一个位置有 n 种选择,第二个有 n−1 种,直到最后剩下一种;乘法原理给出 n!。先固定首位、再排列余下对象,也直接解释了递推式。

空集合没有元素需要安排,但“不安排任何元素”仍是一种完整方案,所以空排列恰有一个。这个解释同时保证 (n0)=n!/(0!n!)=1,并使多个独立安排相乘时,空部分不会改变方案总数。

例子与边界

四本不同的书排成一列有 4!=24 种。若其中两本完全相同,可先暂时给它们贴上不同标签;每一种可见书列恰对应交换这两个标签的 2! 种排列,所以共有 4!/2!=12 种。若还要把旋转后的环形书列视为同一个对象,则等价关系再次改变,不能沿用直线排列的答案。

阶乘增长快于任意固定底数的指数:对 c>0,令 an=n!/cn,有 an+1/an=(n+1)/c。当 n 足够大,此比值至少为 2,于是 an→∞。另一方面 n!/nn=∏j=1n(j/n)≤2−⌊n/2⌋,因此 n!=o(nn)。这两个比较都有明确的比值含义。

更精确的 Stirling 公式是

n!∼2πn(n/e)n,

其中 ∼ 表示两边之比趋于 1,不是每个 n 上的等号。取对数得到 log⁡(n!)=nlog⁡n−n+12log⁡(2πn)+o(1),适合估计排列数所需的存储位数。

有限乘积定义的定义域是非负整数。若试图把递推强行延伸到 n=0,会要求 1=0!=0⋅(−1)!,不可能用有限数值解决。Gamma函数可在更大定义域延拓阶乘,满足 Γ(n+1)=n!,但并不为负整数阶乘提供有限值。 正实延拓若还要求对数凸性,Bohr–Mollerup定理给出唯一性;只有整数值和递推关系时仍能插入周期因子。

推论与应用

全排列的数量和有限对称群的阶都是 n!。多项式系数用阶乘除去同类副本的内部顺序;指数生成函数以 xn/n! 记录标号结构,使乘法自动带入标号分配的组合因子。

实际计算 n!/(n−k)! 时可直接使用 k 个连续因子的乘积,避免先生成两个巨大阶乘。若只要增长量级,则使用对数求和或 Stirling 近似即可,但精确整数计数不能用近似值替代。

参考资料
  • Oscar Levin, Discrete Mathematics: An Open Introduction, 3rd ed., 2019,§1.3,阶乘、全排列与部分排列。
  • Mitchel T. Keller and William T. Trotter, Applied Combinatorics, 在线版,访问于 2026,§2.2 Permutations 与 §11.3 Estimating Ramsey Numbers,分别核验阶乘定义与 Stirling 近似。
关系图谱7 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系