阶乘
在数学中,正整数的阶乘(英语:)是所有小于等于该数的正整数的积,记为,例如5的阶乘表示为,其值为120:
并定义,1的阶乘和0的阶乘都为1,其中0的阶乘表示一个空积[2]。
1808年,基斯顿·卡曼引进这个表示法:,符号表示连续乘积,亦即。阶乘亦可以递归方式定义:,。除了自然数之外,阶乘亦可定义于整个实数(负整数除外),其与伽玛函数的关系为:
阶乘应用在许多数学领域中,最常应用在组合数学、代数学和数学分析中。在组合数学中,阶乘代表的意义为个相异对象任意排列的数量,例如前述例子,其代表了5个相异对象共有120种排列法。在正整数的情形下,的阶乘又可以称为n的排列数。
历史
早在12世纪,印度学者就已有使用阶乘的概念来计算排列数的纪录[3]。1677年时,法比安·斯特德曼使用Change ringing来解释阶乘的概念[6]。在描述递归方法之后,斯特德将阶乘描述为:「现在这些方法的本质是这样的:一个数字的变化数包含了所有比他小的数字(包括本身)的所有变化数……因为一个数字的完全变化数是将较小数字的变化数视为一个整体,并通过将所有数字的完整变化联合起来。」,其原文如下:
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.[7]
定义
阶乘可通过连乘积来定义:
用连乘积符号可表示为:
从上述公式中,可以推导出递归关系式:
但递归定义须给出起点,因此需要定义零的阶乘。 除此之外,递归关系在阶乘函数中各个值皆成立,例如:
0的阶乘
为了将递归关系式扩展到,因此需要定义0的阶乘:
可以得到:
有几个独立的理由认为这个定义是和谐的。 其中包括:
- 在的情况,定义为「没有任何数字相乘的结果」,所以更广泛之惯例的例子是以不存在任何因数的乘法单比特素来当作其解。(参阅空积)
- 对于零个物品只有一种排列方式,因为没有任何东西可以置换,唯一的重新排列就是什么都不做。
- 它使组合数学中的许多恒等式对所有适用的值皆有效,例如从空集合中选择0个元素的方法数,可由二项式系数给出:
- .
- 而从空集合中选择0个元素的方法数为一种,即没有任何东西可以取,唯一的取法就是什么都不做。定义可以满足:
- .
- 更一般地,在个相异元素的集合中取出个相异元素的方法数,可由二项式系数给出:
- .
- 其方法数只有一种,即全部取出。定义可以满足:
- 此定义允许将许多公式更严谨地表达为幂级数,例如指数函数:
计算
计算时,若不太大,普通的科学计算机都可以计算,能够处理不超过(古高尔)数值的计算机可以计算至,而双精度浮点数的计算机则可计算至。
当很大时,可用斯特林公式估计:
更精确的估计是:
其中
部分函数值
n | n! |
---|---|
0 | 1 |
1 | 1 |
2 | 2 |
3 | 6 |
4 | 24 |
5 | 120 |
6 | 720 |
7 | 040 5 |
8 | 320 40 |
9 | 880 362 |
10 | 628800 3 |
11 | 916800 39 |
12 | 001600 479 |
13 | 227020800 6 |
14 | 178291200 87 |
15 | 307674368000 1 |
16 | 922789888000 20 |
17 | 687428096000 355 |
18 | 402373705728000 6 |
19 | 645100408832000 121 |
20 | 432902008176640000 2 |
25 | 1210043331×1025 1.551 |
50 | 4093201713×1064 3.041 |
70 | 857166997×10100 1.197 |
100 | 621544×10157 9.332 |
450 | 368733×101000 1.733 |
000 1 | 872601×102567 4.023 |
249 3 | 337688×1010000 6.412 |
000 10 | 259681×1035659 2.846 |
206 25 | 703438×10100000 1.205 |
000 100 | 229408×10456573 2.824 |
023 205 | 898932×101000004 2.503 |
000000 1 | 931688×105565708 8.263 |
10100 | 1010101.9981097754820 |
非正整数的阶乘
阶乘原始的定义是在整数,为离散,然而在部分领域如几率论要探讨到连续或其他需求(如组合数当取出的数量大于原有的数量会出现负阶乘)时,则需要将阶乘从正整数推广到实数,甚至是复数。
函数和函数

除了非负整数之外,还可以为非整数值定义阶乘函数,但这需要使用更高级的数值分析方法。
可以通过插值的方式将阶乘两整数之间填入数值,但其插入的数值必须也要满足阶乘的递归定义。一个良好的插值结果是函数,其为所有非负整数和复数给出了定义,而当的实部为正时,可以通过下列瑕积分来计算函数值:
它与阶乘的关系是对于任何自然数n满足:
另外,我们也可利用此式以计算任意大于-1的实数的阶乘:
复数的阶乘

可以通过函数来计算复数的阶乘。右图显示了复数阶乘之模与辐角的等值线
令为:
右图显示了几个模(绝对值)与辐角的几个等级,图表的绘制范围为, 个单位长。较粗的铅直线为辐角值为的等值线。
细线表示模或辐角相等之函数值的位置。在每个负整数的位置为奇点,无法定义其模和辐角,并且在离奇点越近的地方,等值线的密度就越密集。
在|z| < 1时,可使用泰勒级数来计算:
其泰勒级数的前几项系数为:
n | gn | 近似值 |
---|---|---|
0 | 1 | 1 |
1 | 2156649 −0.577 | |
2 | 0559955 0.989 | |
3 | 4790760 −0.907 |
其中,γ为欧拉-马斯刻若尼常数
- ζ(z)为黎曼ζ函数
部分计算机代数的系统存在可以直接产生这些展开式系数的语法,例如SageMath。
此种方式甚至可以将阶乘推广至四元数甚至其他数学结构。
z | z! |
---|---|
实数 | |
1、2、3、4、5 | 1、2、6、24、120 (OEIS数列A000142) |
(OEIS数列A019704) | |
复数 | |
(OEIS数列A212877)、(OEIS数列A212878) | |
四元数 | |

较大的阶乘值可通过双伽玛函数积分的连续分数来近似,这个方法由T. J. Stieltjes于1894提出。
将阶乘写为,其中为:
Stieltjes给出了其连分数值:
前几项系数为[11]:
n an 0 1 2 3 4 5 6
变化
定义扩展
阶乘的定义可推广到复数,其与伽玛函数的关系为:
- 。
伽玛函数满足,
另一种定义扩展是阿达马伽玛函数,但由于其不在所有实数上皆能满足阶乘的递归定义,只有在正整数上满足阶乘的递归定义因此比较少被拿出来讨论。
其后面的项只有在正整数的情形为零。也因为其有加上一项,也因此,此扩展在描述负阶乘时不会有除以零的情况,而使阿达马伽玛函数是一个处处连续、无奇点的函数。
递进/递降阶乘
- 递高端乘:
- 递降阶乘:
双阶乘
正整数的双阶乘表示小于等于该数的所有具相同奇偶性的正整数的乘积,即:
广义的双阶乘
无视上述定义的因为即使值的,双阶乘为奇数可扩展到最实数和复数的注意到,当是一个正的奇数则:
获得的表达接受一个以上公式和并表示在条件发生的阶乘函数的既可以看出(使用乘法定理)等同于一个给定在这里。
定义为所有复数除负偶数。
比较上式与的原始定义,广义的双阶乘在的计算上须包含,即
其中
使用它的定义,半径为的n维超球其体积可表示为:
- n=1,3,5,...
- n=2,4,6,...
多重阶乘
被称为的重阶乘,定义为:
四次阶乘
所谓的四次阶乘(又称四重阶乘) 不是 ,而是 ,前几个四次阶乘为
- 1, 2, 12, 120, 1680, 30240, 665280, ....
它也等于
过阶乘
hyperfactorial(有时译作过阶乘)写作,其定义为:
hyper阶乘和阶乘差不多,但产生更大的数。hyper阶乘的增长速度却并非跟一般阶乘在大小上相差很远。 前几项的hyper阶乘为:
另一种定义
柯利弗德·皮寇弗在他的书Key to Infinity定义了另一个超阶乘,写作( 为!和S重叠在一起):(4),表示hyper4,使用高德纳箭号表示法即。这个数列:
- ,读作6个6重幂。
- = ,一直写24个24,读作24个24重幂。
质数阶乘
质数阶乘是所有小于或等于该数且大于或等于2的质数的积,自然数的质数阶乘,写作。
目前质数阶乘只能用递归方式定义,因为尚未找到一个能用基本函数表示所有质数的函数或一条包含所有质数的曲线
一般情况下质数阶乘定义为:
其中, 是质数计数函数,小于或等于某个实数的质数的个数的函数。
符号史
注释
- 例如:,,
- The publisher of Stedman 1677[4] is given as "W.S." who may have been William Smith, possibly acting as agent for the Society of College Youths, to which society the "Dedicatory" is addressed.
参考文献
- Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren, , Reading, MA: Addison-Wesley, 1988, ISBN 0-201-14236-8
- Graham,Knuth & Patashnik 1988[1], p.111
- Biggs, Norman L. . Historia Mathematica. May 1979, 6 (2): 109–136. ISSN 0315-0860. doi:10.1016/0315-0860(79)90074-0 –ScienceDirect.
- Stedman, Fabian, , London, 1677[注 2]
- Stedman 1677[5], pp. 6–9.
- Stedman 1677[5], p. 8.
- Higgins, Peter, , New York: Copernicus, 2008, ISBN 978-1-84800-000-1
- Higgins 2008,[8] p. 12
- 潘承洞. . 现代数学基础 (丛书). 高等教育出版社. 2012年12月. ISBN 9787040364729 (中文(中国大陆)).
- . Digital Library of Mathematical Functions. [2010-10-17]. (原始内容存档于2010-05-29).
- Abul-Dahab, MA and Bakhet, AK. . J Anal Number Theory: 63––68. 2015. 参数
|journal=
与模板{{cite web}}
不匹配(建议改用{{cite journal}}
或|website=
) (帮助);|volume=
被忽略 (帮助); - Cardoso, Joao R and Sadeghi, Amir. . arXiv preprint arXiv:1806.10554. {2018. 参数
|journal=
与模板{{cite web}}
不匹配(建议改用{{cite journal}}
或|website=
) (帮助); - print len(str(6**(5**(4**(3**2))))) (页面存档备份,存于)
- Wolfram, Stephen. . from Wolfram Alpha: Computational Knowledge Engine, Wolfram Research. [2018-11-19] (英语).
- Wolfram, Stephen. . from Wolfram Alpha: Computational Knowledge Engine, Wolfram Research. [2018-11-19] (英语).
- Sloane, N.J.A. (编). . The On-Line Encyclopedia of Integer Sequences. OEIS Foundation.
a(5) > 10^(10^50).
- Fourth, Tokyo: Iwanami Shoten, 2007, ISBN 978-4-00-080309-0, MR 2383190 (日语) 142.D
- Finch, S. R. "Fransén-Robinson Constant." §4.6 in Mathematical Constants. Cambridge, England: Cambridge University Press, pp. 262-264, 2003.
- Amenyou, Folitse Komla; Jeffrey, David. (学位论文): 28. 2018 [2023-10-03]. (原始内容存档于2022-05-09).