阶乘

在数学中，正整数的阶乘（factorial）是所有小于等于该数的正整数的积，记作$n!$，例如5的阶乘表示为$5!$，其值为120：

equalexpr(factorial(5),5*4*3*2*1)

并定义，1的阶乘$1!$和0的阶乘$0!$都为1，其中0的阶乘表示一个空积Graham，Knuth & Patashnik 1988, p.111。

<image>

1808年，基斯顿·卡曼引进这个表示法：$n!=\prod_{k=1}^n k \quad\forall n\ge1$，符号$\Pi$表示连续乘积，亦即$n!=1\times 2\times 3\times \cdots \times n$。阶乘亦可以递回方式定义：$0!=1$，$n!=(n-1)!\times n$。除了自然数之外，阶乘亦可定义于整个实数（负整数除外），其与伽玛函数的关系为：

$$z!=\Gamma(z+1)=\int_{0}^{\infty} t^z e^{-t}\, dt$$

阶乘应用在许多数学领域中，最常应用在组合数学、代数学和数学分析中。在组合数学中，阶乘代表的意义为$n$个相异物件任意排列的数量，例如前述例子，factorial(5)其代表了5个相异物件共有120种排列法。在正整数的情形下，$n$的阶乘又可以称为n的排列数。

## 历史

早在12世纪，印度学者就已有使用阶乘的概念来计算排列数的纪录。1677年时，法比安·斯特德曼使用Change ringing来解释阶乘的概念Stedman 1677, pp. 6–9.。在描述递回方法之后，斯特德将阶乘描述为：“现在这些方法的本质是这样的：一个数字的变化数包含了所有比他小的数字（包括本身）的所有变化数……因为一个数字的完全变化数是将较小数字的变化数视为一个整体，并透过将所有数字的完整变化联合起来。”，其原文如下：

Now the nature of these methods is such, that the changes on one number comprehends includes the changes on all lesser numbers ... insomuch that a compleat Peal of changes on one number seemeth to be formed by uniting of the compleat Peals on all lesser numbers into one entire body.Stedman 1677, p. 8.

而符号n!是由法国数学家克里斯蒂安·克兰普在1808年使用Higgins 2008, p. 12。

## 定义

阶乘可透过连乘积来定义：

$$n! = 1 \cdot 2 \cdot 3 \cdots (n-2) \cdot (n-1) \cdot n,$$

用连乘积符号可表示为：

$$n! = \prod_{i = 1}^n i. \quad\forall n\ge1$$

从上述公式中，可以推导出递回关系式：

$$n! = n \cdot (n-1)!$$

但递回定义须给出起点，因此需要定义零的阶乘。

除此之外，递回关系在阶乘函数中各个值皆成立，例如：

$$\begin{align} <pre> 5! &= 5 \cdot 4! \\ 6! &= 6 \cdot 5! \\ </pre> 50! &= 50 \cdot 49! \end{align}$$

### 0的阶乘

为了将递回关系式扩展到$n=0$，因此需要定义0的阶乘：

factorial(0)

可以得到：

$$1! = 1 \cdot 0! = 1$$

有几个独立的理由认为这个定义是和谐的。其中包括：

- 在$n=0$的情况，$n!$定义为“没有任何数字相乘的结果”，所以更广泛之惯例的例子是以不存在任何因数的乘法单位元素来当作其解。（参阅空积）
- 对于零个物品只有一种排列方式，因为没有任何东西可以置换，唯一的重新排列就是什么都不做。
- 它使组合数学中的许多恒等式对所有适用的值皆有效，例如从空集合中选择0个元素的方法数，可由二项式系数给出：

binomial(0,0).

而从空集合中选择0个元素的方法数为一种，即没有任何东西可以取，唯一的取法就是什么都不做。定义$0! = 1$可以满足：

$\binom{0}{0} = \frac{0!}{0!0!} = 1$.

更一般地，在$n$个相异元素的集合中取出$n$个相异元素的方法数，可由二项式系数给出：

lastexpr(n←2,binomial(n,n)).

其方法数只有一种，即全部取出。定义$0! = 1$可以满足：

$$\binom{n}{n} = \frac{n!}{n!0!} = 1$$

- 此定义允许将许多公式更严谨地表达为幂级数，例如指数函数：

$$e^x = \sum_{n = 0}^\infty \frac{x^n}{n!}.$$

## 性质

$n!$可质因子分解为$\prod_{p \le n} p^{\sum_{r=1}^n [\frac{n}{p^r}]}$，如$6!=2^4\times 3^2\times 5^1$。

## 计算

$n!$（蓝色）、$\sqrt{2\pi n}\left(\frac{n}{e}\right)^n$（橘色），数字越大$\sqrt{2\pi n}\left(\frac{n}{e}\right)^n,$会越趋近$n!$。但$\sqrt{2\pi n}\left(\frac{n}{e}\right)^n$在负值则会因为出现虚数而无法使用。

计算$n!$时，若$n$不太大，普通的科学计算机都可以计算，能够处理不超过$10^{100}$（古高尔）数值的计算机可以计算至$69!$，而双精度浮点数的计算机则可计算至$170!$。

当$n$很大时，可用斯特林公式估计：

$n!\approx\sqrt{2\pi n}\;\left(\frac{n}{e}\right)^{n}$ 更精确的估计是：

$n!=\sqrt{2\pi n}\;\left(\frac{n}{e}\right)^{n}e^{\lambda_n}$ 其中$$\frac{1}{12n+1}<\lambda_n<\frac{1}{12n}$$

## 部分函数值

n｜n!

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 50 70

100｜9.332621544×10^157

450｜1.733368733×10^1000

1000｜4.023872601×10^2567

3249｜6.412337688×10^10000

10000｜2.846259681×10^35659

25206｜1.205703438×10^100000

100000｜2.824229408×10^456573

205023｜2.503898932×10^1000004

1000000｜8.263931688×10^5565708

1010101.9981097754820

## 非正整数的阶乘

阶乘原始的定义是在整数，为离散，然而在部分领域如几率论要探讨到连续或其他需求（如组合数当取出的数量大于原有的数量会出现负阶乘）时，则需要将阶乘从正整数推广到实数，甚至是复数。

### Γ函数和Π函数

<image>

除了非负整数之外，还可以为非整数值定义阶乘函数，但这需要使用更高级的数值分析方法。

可以透过插值的方式将阶乘两整数之间填入数值，但其插入的数值必须也要满足阶乘的递回定义。一个良好的插值结果是$\Gamma$函数，其为所有非负整数和复数给出了定义，而当$z$的实部为正时，可以透过下列瑕积分来计算$\Gamma$函数值：

$$\Gamma(z)=\int_0^\infty t^{z-1} e^{-t}\, dt\,.$$

它与阶乘的关系是对于任何自然数n满足：

$$n!=\Gamma(n+1)\,.$$

另外，我们也可利用此式以计算任意大于-1的实数的阶乘：

$$x!=\lim_{N \to \infty} N^{x}\prod_{k=1}^{N} \frac{k}{x+k}=\int_{0}^{1} ( -\ln{(t)} ) ^{x}\, dt\,.$$

### 复数的阶乘

<image>

可以透过$\Gamma$函数来计算复数的阶乘。右图显示了复数阶乘之模与辐角的等值线

令$f$为：

$$f=\rho e^{i\varphi}=(x+{\rm i}y)!=\Gamma(x+iy+1)$$

右图显示了几个模（绝对值）$\rho$与辐角$\varphi$的几个等级，图表的绘制范围为$-3\leq x\leq 3$, $-2\leq y\leq 2$个单位长。较粗的铅直线为辐角值为$\varphi=\pm\pi$的等值线。

细线表示模或辐角相等之函数值的位置。在每个负整数的位置为奇点，无法定义其模和辐角，并且在离奇点越近的地方，等值线的密度就越密集。

在z < 1时，可使用泰勒级数来计算：

$$\begin{align} z! & = \sum_{n=0}^\infty g_n z^n\, \\ & = 1 - \gamma z + \frac{1}{2!} \left (\gamma^2 + \frac{\pi^2}{6} \right) z^{2} - \frac{1}{3!} \left( \gamma^3 + \frac{\pi^{2} \gamma}{2} + 2\zeta(3) \right) z^{3} \\ & + \frac{1}{4!} \left( \gamma^4 + \pi^{2} \gamma^{2} + \frac{3\pi^{4}}{20} + 8\zeta(3) \gamma \right) z^{4} - \frac{1}{5!} \left( \gamma^5 + \frac{5\pi^{2}\gamma^{3}}{3} + \frac{3\pi^{4} \gamma}{4} + (20\gamma^{2}+\frac{10\pi^{2}}{3}) \zeta(3) + 24\zeta(5) \right) z^{5} + \cdots + \frac{1}{n!} \left( \int_0^\infty e^{-t} (\ln t)^n \, dt \right) z^n + \cdots \\ & \approx 1 - 0.577215664 z + 0.989055995 z^{2} - 0.907479076 z^{3} + 0.981728086 z^{4} - 0.981995068 z^{5} + \cdots \\ \end{align}$$

其中，γ为欧拉-马斯刻若尼常数、ζ(z)为黎曼ζ函数。部分计算机代数的系统存在可以直接产生这些展开式系数的语法。

z｜z!

实数

1、2、3、4、5｜factorial(1)、factorial(2)、factorial(3)、factorial(4)、factorial(5)

$\frac{1}{2}$｜$\frac{\sqrt{\pi}}{2}\approx\,$factorial(0.5)

复数

$i$｜factorial(i)。

$2i$｜factorial(2i)

$1+i$｜factorial(1+i)

四元数

$j$｜factorial(j)

$k$｜factorial(k)

$1+i+j$｜factorial(i+j)

<image>

较大的阶乘值可透过双伽玛函数积分的连续分数来近似，这个方法由T. J. Stieltjes于1894提出。

将阶乘写为$z!=e^{P(z)}$，其中$P(z)$为：

$$P(z) = p(z) + \frac{\ln 2\pi}{2} - z + \left(z+\tfrac{1}{2}\right)\ln(z) \,,$$

Stieltjes给出了其连分数值：

$$p(z)=\cfrac{a_0}{z+ \cfrac{a_1}{z+ \cfrac{a_2}{z+ \cfrac{a_3}{z+\ddots}}}}$$

前几项系数$a_n$为：

n｜an

0｜$\frac{1}{12}$

1｜$\frac{1}{30}$

2｜$\frac{53}{210}$

3｜$\frac{195}{371}$

4｜$\frac{22999}{22737}$

5｜$\frac{29944523}{19733142}$

6｜$\frac{109535241009}{48264275462}$

### 负整数的阶乘

负整数的阶乘可透过阶乘的递回定义$n!=n\times (n-1)!$逆推而得：

$$(n-1)! = \frac{n!}{n} .$$

但由于在此定义下计算负一的阶乘会出现除以零（即$(0-1)! = \frac{0!}{0}$），因此无法直接给出负整数的阶乘。

### 其他数学结构的阶乘

透过伽玛函数或其展开式亦可以将阶乘扩展到其他能定义加法和乘法等基本运算的数学结构，如矩阵。

矩阵的阶乘具有如下性质：

$A!=\Gamma(A+I)=A\Gamma(A)=A(A-I)!$。

并且$\Gamma(I)=I$，其中，$I$是单位矩阵、$A$是一个方阵，同时$A!$是一个非奇异矩阵。

换句话说，即矩阵$A$为单位矩阵的纯量$n$倍，其阶乘为$A!=(n I)!=n! I$，例如$\bigl( \begin{smallmatrix} n&0\\ 0&n \end{smallmatrix} \bigr)!=n! I=\bigl( \begin{smallmatrix} n!&0\\ 0&n! \end{smallmatrix} \bigr)$

对于一个可对角化矩阵$\bigl( \begin{smallmatrix} a&b\\ c&d \end{smallmatrix} \bigr)$其阶乘为：

$\left .{\begin{pmatrix} a & b \\ c & d \end{pmatrix}}\right . !=\Gamma \left(\bigl( \begin{smallmatrix} a+1&b\\ c&d+1 \end{smallmatrix} \bigr)\right)=\frac{1}{2\Omega}{\begin{pmatrix} \Gamma(\lambda_1)\left(d-a+\Omega\right)+\Gamma(\lambda_2)\left(a-d+\Omega\right) & -2b\left(\Gamma(\lambda_1)-\Gamma(\lambda_2)\right) \\ -2c\left(\Gamma(\lambda_1)-\Gamma(\lambda_2)\right) & \Gamma(\lambda_1)\left(a-d+\Omega\right)+\Gamma(\lambda_2)\left(d-a+\Omega\right) \end{pmatrix}}$

其中，$\lambda_1$和$\lambda_2$是$\bigl( \begin{smallmatrix} a+1&b\\ c&d+1 \end{smallmatrix} \bigr)$的特征值，分别为$\lambda_1=1+\begin{smallmatrix}\frac{\left(a+d-\Omega\right)}{2}\end{smallmatrix}$和$\lambda_2=1+\begin{smallmatrix}\frac{\left(a+d+\Omega\right)}{2}\end{smallmatrix}$，其中，$\Omega=\begin{smallmatrix}\sqrt{(a-d)^{2}+4bc}\end{smallmatrix}$

## 变化

### 定义扩展

<image>

阶乘的定义可推广到复数，其与伽玛函数的关系为：

$z!=\Gamma(z+1)=\int_{0}^{\infty} t^z e^{-t}\, \mathrm{d}t. \!$。

伽玛函数满足$\Gamma(n+1)=(n)\Gamma(n)$。

另一种定义扩展是阿达马伽玛函数，但由于其不在所有实数上皆能满足阶乘的递回定义，只有在正整数上满足阶乘的递回定义$n!=n\times (n-1)!$因此比较少被拿出来讨论。

$$H(x+1)=x\, H(x) + \frac{1}{\Gamma(1-x)}$$

其后面的项$\frac{1}{\Gamma(1-x)}$只有在正整数的情形为零。也因为其有加上一项，也因此，此扩展在描述负阶乘时不会有除以零的情况，而使阿达马伽玛函数是一个处处连续、无奇点的函数。

### 递进/递降阶乘

- 递进阶乘：$(x)_n = x^{\overline{n}} = x(x+1)...(x+n-1)$
- 递降阶乘：$x^{\underline{n}} = x(x-1)...(x-n+1)$
- $$x^{\overline{n}}= (-1)^n (-x)^{\underline{n}}$$

### 双阶乘

正整数的双阶乘表示小于等于该数的所有具相同奇偶性的正整数的乘积，即：

$$\begin{cases} (2n - 1)

= 1 \times 3 \times 5 \times \cdots \times (2n - 1)\\ (2n)

= 2 \times 4 \times 6 \times \cdots \times (2n) \end{cases}, n \isin \natnums$$

### 广义的双阶乘

无视上述定义的$n

$因为即使值的$N$，双阶乘为奇数可扩展到最实数和复数$z$的注意到，当$z$是一个正的奇数则：

$$z

= z(z-2)\cdots(3) = 2^{\frac{z-1}{2}}\left(\frac{z}{2}\right)\left(\frac{z-2}{2}\right)\cdots \left(\frac{3}{2}\right) = 2^{\frac{z-1}{2}} \frac{\Gamma\left(\frac{z}{2}+1\right)}{\Gamma\left(\frac{1}{2}+1\right)} = \sqrt{\frac{2^{z+1}}{\pi}} \Gamma\left(\frac{z}{2}+1\right)\,.$$

获得的表达接受一个以上公式$(2n+1)

$和$(2n-1)

$并表示在条件发生的阶乘函数的$\gamma$既可以看出（使用乘法定理）等同于一个给定在这里。

$z

$定义为所有复数除负偶数。

比较上式与$(2n)

$的原始定义，广义的双阶乘在$(2n)

$的计算上须包含$0

$，即

$$(2n)

=2n\times(2n-2)\times(2n-4)\times\cdots\times4\times2\times0

$$

其中 $0

使用它的定义，半径为$R$的n维超球其体积可表示为：

} R^n.$ n=1,3,5,...

$V_n=\frac{(\pi)^{\frac{n}{2}}}{{\frac{n}{2}}!} R^n.$ n=2,4,6,...

### 多重阶乘

$n!^{(k)}$被称为$n$的$k$重阶乘，定义为：

$$n!^{(k)}= <pre> \left\{ \begin{matrix} 1,\qquad\qquad\ &&\mbox{if }0\le n<k; \\ n(n-k)!^{(k)},&&\mbox{if }n\ge k.\quad\ \ \, \end{matrix} \right.$$

### 广义的多重阶乘

能将多重阶乘推广到复数（甚至是四元数）

$$z!^{(k)} = z(z-k)\cdots(k+1) = k^{\frac{z-1}{k}}\left(\frac{z}{k}\right)\left(\frac{z-k}{k}\right)\cdots \left(\frac{k+1}{k}\right) = k^{\frac{z-1}{k}} \frac{\Gamma\left(\frac{z}{k}+1\right)}{\Gamma\left(\frac{1}{k}+1\right)}\,.$$

### 四次阶乘

所谓的四次阶乘（又称四重阶乘）不是 $n!^4$，而是 $\frac{(2n)!}{n!}$，前几个四次阶乘为

1, 2, 12, 120, 1680, 30240, 665280, ....

它也等于

$$\begin{align} 2^n\frac{(2n)!}{n!2^n} & = 2^n \frac{(2\cdot 4\cdots 2n) [1\cdot 3\cdots (2n-1)]}{2\cdot 4\cdots 2n} \\[8pt] & = (1\cdot 2)\cdot (3 \cdot 2) \cdots[(2n-1)\cdot 2]=(4n-2)!^{(4)}. \end{align}$$

### 过阶乘

hyperfactorial（有时译作过阶乘）写作$H(n)$，其定义为：

$$H(n) <pre> = \prod_{k=1}^n k^k = 1^1\cdot2^2\cdot3^3\cdots(n-1)^{n-1}\cdot n^n$$

hyper阶乘和阶乘差不多，但产生更大的数。hyper阶乘的增长速度却并非跟一般阶乘在大小上相差很远。

前几项的hyper阶乘为：

1, 4, 108, 27648, 86400000, ...

### 超阶乘

1995年，尼尔·斯洛恩和西蒙·普劳夫定义了超阶乘（superfactorial）为首$n$个阶乘的积。即$\mathrm{sf}(n)=1!\times 2!\times 3!\times \cdots\times n!$。一般来说

$$\mathrm{sf}(n) <pre> = \prod_{k=1}^n k! =\prod_{k=1}^n k^{n-k+1} = 1^n\cdot2^{n-1}\cdot3^{n-2}\cdots(n-1)^2\cdot n^1.$$

前几项的超阶乘为：

1, 2, 12, 288, 34560, 24883200, ...

#### 另一种定义

柯利弗德·皮寇弗在他的书Key to Infinity定义了另一个超阶乘，写作$n\mathrm{S}\!\!\!\!\!\;\,{!}$（$\mathrm{S}\!\!\!\!\!\;\,{!}$为!和S重叠在一起）：$n\mathrm{S}\!\!\!\!\!\;\,{!} = n ^{(4)} n$(4),表示hyper4，使用高德纳箭号表示法即$n\mathrm{S}\!\!\!\!\!\;\,{!} = (n!) \uparrow \uparrow (n!)$。这个数列：

$$1\mathrm{S}\!\!\!\!\!\;\,{!} = 1$$

$$2\mathrm{S}\!\!\!\!\!\;\,{!} = 2^2 = 4$$

$3\mathrm{S}\!\!\!\!\!\;\,{!}=6 \uparrow \uparrow 6 = 6^{6^{6^{6^{6^6}}}}$，读作6个6重幂。

$4\mathrm{S}\!\!\!\!\!\;\,{!}=(4!) \uparrow \uparrow (4!) = 24 \uparrow \uparrow 24$ = $<pre> \begin{matrix} {24_{}^{24^{{}^{.\,^{.\,^{.\,^{24}}}}}}}\\ \end{matrix}$，一直写24个24，读作24个24重幂。

### 质数阶乘

质数阶乘是所有小于或等于该数且大于或等于2的质数的积，自然数$n$的质数阶乘，写作$n\#$。

目前质数阶乘只能用递回方式定义，因为尚未找到一个能用基本函数表示所有质数的函数或一条包含所有质数的曲线

一般情况下质数阶乘定义为：

$$n\# = \prod_{i=1}^{\pi(n)} p_i = p_{\pi(n)}\#$$

其中, $\pi(n)$是质数计数函数，小于或等于某个实数$n$的质数的个数的函数$\leq n$。

### 自然数阶幂

阶幂也称叠幂或者重幂记作$n^!$（感叹号!写在自然数的右上角），它的定义是将自然数1至$n$的数由大到小作幂指数重叠排列，数学定义如下：

$$n^! = n^{{(n-1)}^!} = n_{}^{(n-1)^{{(n-2)}^{.\,^{.\,^{.\,^{{3}^{{2}^{1}}}}}}}}$$

其中$n\geq 1$，前几项的重幂数为：

1 , 2 , 9 , 262144 , ...

第5个重幂数是一个有183231位阿拉伯数字组成的超大自然数

$5^{262144}$

其值约为$6.20606987866\times 10^{183230}$

另外一种定义则是每个阶幂都先取一次阶乘：

$$n!^{{(n-1)!}^!} = n!_{}^{(n-1)!^{{(n-2)!}^{.\,^{.\,^{.\,^{{3!}^{{2!}^{1!}}}}}}}}$$

前几个阶乘阶幂为：

1, 2, 36, 48708493958471199415506599153950129703565945470976, ...

第5个阶乘阶幂值已大于$10^{10^{50}}$

$120^{24^{6^{2^{1}}}}$

其值约为$4.3056\times 10^{1.01274\times 10^{50}}\approx 10^{10^{50.00549705084703}}$

二次阶幂：

$$n^{

} = n^{{!}^{2}} = {n^{{!}{(n-1)^{{!}{{(n-2)}^{{!}{{.}^{{.}^{{.}^{3^{{!}{2^{{!}{1^!}}}}}}}}}}}}}}$$

前几个二次阶幂为：

1, 2, 81...

第4个阶乘阶幂值已大于$10^{438}$，其值约为$7.975\times 10^{438}$。

相应地，$m$次阶幂定义如下：

$$n^{{!}^{m}} = n^{{{!}^{(m-1)}{(n-1)}^{!^{m}}}} = {n^{{!^{(m-1)}}{(n-1)^{{!^{(m-1)}}{{(n-2)}^{{!^{(m-1)}}{{.}^{{.}^{{.}^{3^{{!^{(m-1)}}{2^{{!^{(m-1)}}{1^{!^{(m-1)}}}}}}}}}}}}}}}}$$

其中$n$，$m\geq 1$，且$n,m \in Z$。

### 倒数阶乘

倒数阶乘是指所有小于及等于该数的正整数之倒数的积，其值与阶乘的倒数相同：

$$\prod_{k=1}^n \frac{1}{k} = \frac{1}{n!} \quad\forall n\ge1$$

其无穷级数收敛在e：

$$\sum_{n=0}^\infty \prod_{k=1}^n \frac{1}{k} = e$$

考量阶乘可以表示为连续的伽玛函数，则有

$$\int_{-1}^\infty \frac{dx}{x!}\, = \int_{0}^\infty \frac{dx}{\Gamma(x)}\,\approx 2.80777024,$$

这个值又称为弗朗桑－罗宾逊常数。

### 反阶乘

<image>

反阶乘是阶乘的反函数，用于求解指定的数是哪个数的阶乘。例如120的反阶乘为5，因为5的阶乘为120。反阶乘可以透过泰勒级数或反伽玛函数来评估与计算。

反阶乘可以用了推算某个数大约是多少的阶乘。

由于阶乘与伽玛函数之间的关联，反阶乘也可以透过反伽玛函数近似公式来估计：

$$\mathrm{ArcFactorial}\left( z\right)\approx-1+\alpha+\sqrt{\frac{2\left(x-\Gamma\left(\alpha\right)\right)}{\Psi\left(1,\ \alpha\right)\Gamma\left(\alpha\right)}}.$$

因此，反阶乘也可以写成如下的渐近分析形式：

$$\mathrm{ArcFactorial}\left( x\right) \sim\frac{\ln\left(\frac{x}{\sqrt{2\pi}}\right)}{W_{0}\left(e^{-1}\ln\left(\frac{x}{\sqrt{2\pi}}\right)\right)}-\frac{1}{2}$$

其中$W_0(x)$是朗伯W函数。这个公式是利用史特灵公式求逆得到的，因此也可以展开为渐近级数。

## 符号史

- 瑞士数学家欧拉（Euler, L.）于1751年用大写字母$M$表示$m$阶乘$M=1\cdot 2\cdot 3\cdot \cdots \cdot m$。
- 意大利数学家鲁菲尼（Ruffini, P.）在1799年出版的方程著述中，用小写字母$\pi$表示$m$阶乘。
- 德国数学家高斯（Gauss, C.F）于1818年则用$\Pi (n)$表示n阶乘。
- 用符号$\underline{\mid n}$表示$n$阶乘的方法起源于英国，尚不能确定其创始人，1827年，由雅来特（Jarrett）的建议得以流行，现代有时亦用此阶乘符号。
- 现在通用的阶乘符号$n!$是法国数学家克拉姆（Kramp, C.）于1808年最先提出来的，后经德国数学家、物理学家格奥尔格·欧姆（Ohm, M.）等人的倡议而流行起来，直用到现在。