在數學中，正整數的階乘是所有小於等於該數的正整數的積，記為 n，例如 5 的階乘表示為 5，其值為 120： 並定義，1 的階乘 1 和 0 的階乘 0 都為 1，其中 0 的階乘表示一個空積。 1808 年，基斯頓卡曼引進這個表示法：nprod_k1n k quadforall nge1，符號 Pi 表示連續乘積，亦即 n1times 2times 3times cdots times n。階乘亦可以遞迴方式定義：01，nn1times n。除了自然數之外，階乘亦可定義於整個實數（負整數除外），其與伽瑪函式的關係為： zGamma z1int_0infty tz et dt 階乘應用在許多數學領域中，最常應用在組合數學、代數學和數學分析中。在組合數學中，階乘代表的意義為 n 個相異物件任意排列的數量，例如前述例子，其代表了 5 個相異物件共有 120 種排列法。在正整數的情形下，n 的階乘又可以稱為 n 的排列數。 歷史 早在 12 世紀，印度學者就已有使用階乘的概念來計算排列數的紀錄。1677 年時，法比安斯特德曼使用來解釋階乘的概念。在描述遞迴方法之後，斯特德將階乘描述為：「現在這些方法的本質是這樣的：一個數字的變化數包含了所有比他小的數字（包括本身）的所有變化數 因為一個數字的完全變化數是將較小數字的變化數視為一個整體，並透過將所有數字的完整變化聯合起來。」，其原文如下： 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 而符號是由法國數學家克里斯蒂安克蘭普在 1808 年使用。 定義 階乘可透過連乘積來定義： n 1 cdot 2 cdot 3 cdots n2 cdot n1 cdot n 用連乘積符號可表示為： n prod_i 1n i quadforall nge1 從上述公式中，可以推匯出遞迴關係式： n n cdot n1 但遞迴定義須給出起點，因此需要定義零的階乘。 除此之外，遞迴關係在階乘函式中各個值皆成立，例如： begin align 5 5 cdot 4 6 6 cdot 5 50 50 cdot 49 end align 0 的階乘 為了將遞迴關係式擴充套件到 n0，因此需要定義 0 的階乘： 可以得到： 1 1 cdot 0 1 有幾個獨立的理由認為這個定義是和諧的。 其中包括： 在 n0 的情況，n 定義為「沒有任何數字相乘的結果」，所以更廣泛之慣例的例子是以不存在任何因數的乘法單位元素來當作其解。（參閱空積） 對於零個物品只有一種排列方式，因為沒有任何東西可以置換，唯一的重新排列就是什麼都不做。 它使組合數學中的許多恆等式對所有適用的值皆有效，例如從空集合中選擇 0 個元素的方法數，可由二項式係數給出： 而從空集合中選擇 0 個元素的方法數為一種，即沒有任何東西可以取，唯一的取法就是什麼都不做。定義 0 1 可以滿足： binom 00 frac 000 1 更一般地，在 n 個相異元素的集合中取出 n 個相異元素的方法數，可由二項式係數給出： 其方法數只有一種，即全部取出。定義 0 1 可以滿足： binom nn frac nn0 1 此定義允許將許多公式更嚴謹地表達為冪級數，例如指數函式： ex sum_n 0infty frac xnn 性質 n 可質因子分解為 prod_p le n psum_r1n frac npr ，如 624times 32times 51。 計算 計算 n 時，若 n 不太大，普通的科學計算機都可以計算，能夠處理不超過 10100（古高爾）數值的計算機可以計算至 69，而雙精度浮點數的計算機則可計算至 170。 當 n 很大時，可用斯特林公式估計： napproxsqrt 2pi nleft frac nerightn 更精確的估計是： nsqrt 2pi nleft frac nerightn elambda_n 其中 frac 112n1lambda_nfrac 112n 部分函式值 部分的階乘值 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 450 10101019981097754820 非正整數的階乘 階乘原始的定義是在整數，為離散，然而在部分領域如機率論要探討到連續或其他需求（如組合數當取出的數量大於原有的數量會出現負階乘）時，則需要將階乘從正整數推廣到實數，甚至是複數。 Γ 函式和 Π 函式 除了非負整數之外，還可以為非整數值定義階乘函式，但這需要使用更高階的數值分析方法。 可以透過插值的方式將階乘兩整數之間填入數值，但其插入的數值必須也要滿足階乘的遞迴定義。一個良好的插值結果是 Gamma 函式，其為所有非負整數和複數給出了定義，而當 z 的實部為正時，可以透過下列瑕積分來計算 Gamma 函式值： Gamma zint_0infty tz1 et dt 它與階乘的關係是對於任何自然數 n 滿足： nGamma n1 另外，我們也可利用此式以計算任意大於 1 的實數的階乘： xlim_N to infty Nxprod_k1N frac kxkint_01 ln t x dt 複數的階乘 可以透過 Gamma 函式來計算複數的階乘。右圖顯示了複數階乘之模與輻角的等值線 令 f 為： frho eivarphixrm i yGamma xiy1 右圖顯示了幾個模（絕對值）rho 與輻角 varphi 的幾個等級，圖表的繪製範圍為 3leq xleq 3 2leq yleq 2 個單位長。較粗的鉛直線為輻角值為 varphipmpi 的等值線。 細線表示模或輻角相等之函式值的位置。在每個負整數的位置為奇點，無法定義其模和輻角，並且在離奇點越近的地方，等值線的密度就越密集。 在時，可使用泰勒級數來計算： begin align z sum_n0infty g_n zn 1 gamma z frac 12 left gamma2 frac pi26 right z2 frac 13 left gamma3 frac pi2 gamma2 2zeta 3 right z3 frac 14 left gamma4 pi2 gamma2 frac 3pi420 8zeta 3 gamma right z4 frac 15 left gamma5 frac 5pi2gamma33 frac 3pi4 gamma4 20gamma2frac 10pi23 zeta 3 24zeta 5 right z5 cdots frac 1n left int_0infty et ln tn dt right zn cdots approx 1 0577215664 z 0989055995 z2 0907479076 z3 0981728086 z4 0981995068 z5 cdots end align 其中，為尤拉 馬斯刻若尼常數、為黎曼 ζ 函式。部分計算機代數的系統存在可以直接產生這些展開式係數的語法。 z z 實數 實數 1、2、3、4、5 、、、、 frac 12 frac sqrt pi2approx 複數 複數 i 、 2i 1i 四元數 四元數 j k 1ij 較大的階乘值可透過雙伽瑪函式積分的連續分數來近似，這個方法由 T J Stieltjes 於 1894 提出。 將階乘寫為 zeP z，其中 P z 為： P z p z frac ln 2pi2 z left ztfrac 12rightln z Stieltjes 給出了其連分數值： p zcfrac a_0z cfrac a_1z cfrac a_2z cfrac a_3zddots 前幾項係數 a_n 為 ： 0 frac 112 1 frac 130 2 frac 53210 3 frac 195371 4 frac 2299922737 5 frac 2994452319733142 6 frac 10953524100948264275462 負整數的階乘 負整數的階乘可透過階乘的遞迴定義 nntimes n1 逆推而得： n1 frac nn 但由於在此定義下計算負一的階乘會出現除以零（即 01 frac 00），因此無法直接給出負整數的階乘。 其他數學結構的階乘 透過伽瑪函式或其展開式亦可以將階乘擴充套件到其他能定義加法和乘法等基本運算的數學結構，如矩陣。 矩陣的階乘具有如下性質： AGamma AIAGamma AA AI。 並且 Gamma II，其中，I 是單位矩陣、A 是一個方陣，同時 A 是一個非奇異矩陣。 換句話說，即矩陣 A 為單位矩陣的純量 n 倍，其階乘為 An In I，例如 bigl begin smallmatrix n0 0n end smallmatrix bigrn Ibigl begin smallmatrix n0 0n end smallmatrix bigr 對於一個可對角化矩陣 bigl begin smallmatrix ab cd end smallmatrix bigr 其階乘為： left begin pmatrix a b c d end pmatrixright Gamma left bigl begin smallmatrix a1b cd1 end smallmatrix bigrrightfrac 12Omegabegin pmatrix Gamma lambda_1left daOmegarightGamma lambda_2left adOmegaright 2bleft Gamma lambda_1Gamma lambda_2right 2cleft Gamma lambda_1Gamma lambda_2right Gamma lambda_1left adOmegarightGamma lambda_2left daOmegaright end pmatrix 其中，lambda_1 和 lambda_2 是 bigl begin smallmatrix a1b cd1 end smallmatrix bigr 的特徵值，分別為 lambda_11begin smallmatrixfrac left adOmegaright2end smallmatrix 和 lambda_21begin smallmatrixfrac left adOmegaright2end smallmatrix，其中，Omegabegin smallmatrixsqrt ad24bcend smallmatrix 變化 定義擴充套件 階乘的定義可推廣到複數，其與伽瑪函式的關係為： zGamma z1int_0infty tz et mathrm d t 。 伽瑪函式滿足 Gamma n1nGamma n， 另一種定義擴充套件是阿達馬伽瑪函式，但由於其不在所有實數上皆能滿足階乘的遞迴定義，只有在正整數上滿足階乘的遞迴定義 nntimes n1 因此比較少被拿出來討論。 H x1x H x frac 1Gamma 1x 其後面的項 frac 1Gamma 1x 只有在正整數的情形為零。也因為其有加上一項，也因此，此擴充套件在描述負階乘時不會有除以零的情況，而使阿達馬伽瑪函式是一個處處連續、無奇點的函式。 遞進 遞降階乘 遞進階乘：x_n xoverline n x x1xn1 遞降階乘：xunderline n x x1xn1 xoverline n 1n xunderline 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 z2cdots 3 2frac z12left frac z2rightleft frac z22rightcdots left frac 32right 2frac z12 frac Gammaleft frac z21rightGammaleft frac 121right sqrt frac 2z1pi Gammaleft frac z21right 獲得的表達接受一個以上公式 2n1 和 2n1 並表示在條件發生的階乘函式的 gamma 既可以看出（使用乘法定理）等同於一個給定在這裡。 z 定義為所有複數除負偶數。 比較上式與 2n 的原始定義，廣義的雙階乘在 2n 的計算上須包含 0，即 2n2ntimes 2n2times 2n4timescdotstimes4times2times0 其中 0sqrt frac 2pi 使用它的定義，半徑為 R 的 n 維超球其體積可表示為： V_nfrac 2 2pifrac n12n Rn n135 V_nfrac pifrac n2frac n2 Rn n246 多重階乘 nk 被稱為 n 的 k 重階乘，定義為： nk leftbegin matrix 1qquadqquad mbox if 0le nk n nkkmbox if nge kquad end matrix right 廣義的多重階乘 能將多重階乘推廣到複數（甚至是四元數） zk z zkcdots k1 kfrac z1kleft frac zkrightleft frac zkkrightcdots left frac k1kright kfrac z1k frac Gammaleft frac zk1rightGammaleft frac 1k1right 四次階乘 所謂的四次階乘（又稱四重階乘） 不是 n4，而是 frac 2nn，前幾個四次階乘為 1 2 12 120 1680 30240 665280 它也等於 begin align 2nfrac 2nn2n 2n frac 2cdot 4cdots 2n 1cdot 3cdots 2n12cdot 4cdots 2n 8pt 1cdot 2cdot 3 cdot 2 cdots 2n1cdot 24n24 end align 過階乘 hyperfactorial（有時譯作過階乘）寫作 H n，其定義為： H n prod_k1n kk 11cdot22cdot33cdots n1n1cdot nn hyper 階乘和階乘差不多，但產生更大的數。hyper 階乘的增長速度卻並非跟一般階乘在大小上相差很遠。 前幾項的 hyper 階乘為： 1 4 108 27648 86400000 超階乘 1995 年，尼爾斯洛恩和西蒙普勞夫定義了超階乘（superfactorial）為首 n 個階乘的積。即 mathrm sfn1times 2times 3times cdotstimes n。一般來說 mathrm sfn prod_k1n k prod_k1n knk1 1ncdot2n1cdot3n2cdots n12cdot n1 前幾項的超階乘為： 1 2 12 288 34560 24883200 另一種定義 柯利弗德皮寇弗在他的書 Key to Infinity 定義了另一個超階乘，寫作 nmathrm S（ mathrm S 為！和 S 重疊在一起）：nmathrm S n 4 n 4 表示 hyper4，使用高德納箭號表示法即 nmathrm S n uparrow uparrow n。這個數列： 1mathrm S 1 2mathrm S 22 4 3mathrm S6 uparrow uparrow 6 666666，讀作 6 個 6 重冪。 4mathrm S4 uparrow uparrow 4 24 uparrow uparrow 24 begin matrix 24_2424 end matrix，一直寫 24 個 24，讀作 24 個 24 重冪。 質數階乘 質數階乘是所有小於或等於該數且大於或等於 2 的質數的積，自然數 n 的質數階乘，寫作 n。 目前質數階乘只能用遞迴方式定義，因為尚未找到一個能用基本函式表示所有質數的函式或一條包含所有質數的曲線 一般情況下質數階乘定義為： n prod_i1pi n p_i p_pi n 其中，pi n 是質數計數函式，小於或等於某個實數 n 的質數的個數的函式 leq n。 自然數階冪 階冪也稱疊冪或者重冪記作 n（感嘆號！寫在自然數的右上角），它的定義是將自然數 1 至 n 的數由大到小作冪指數重疊排列，數學定義如下： n nn1 n_n1n2321 其中 ngeq 1，前幾項的重冪數為： 1 2 9 262144 第 5 個重冪數是一個有 183231 位阿拉伯數字組成的超大自然數 print len str 65432 ，其值約為 620606987866times 10183230 另外一種定義則是每個階冪都先取一次階乘： nn1 n_n1n2321 前幾個階乘階冪為： 1 2 36 48708493958471199415506599153950129703565945470976 第 5 個階乘階冪值已大於 101050，其值約為 43056times 10101274times 1050approx 10105000549705084703 二次階冪： n n2 nn1n2321 前幾個二次階冪為： 1 2 81 第 4 個階乘階冪值已大於 10438，其值約為 7975times 10438。 相應地，m 次階冪定義如下： nm nm1n1m nm1n1m1n2m13m12m11m1 其中 n，mgeq 1，且 nm in Z。 倒數階乘 倒數階乘是指所有小於及等於該數的正整數之倒數的積，其值與階乘的倒數相同： prod_k1n frac 1k frac 1n quadforall nge1 其無窮級數收斂在 e 142D： sum_n0infty prod_k1n frac 1k e 考量階乘可以表示為連續的伽瑪函式，則有 int_1infty frac dxx int_0infty frac dxGamma xapprox 280777024 這個值又稱為。Finch S R FransénRobinson Constant 46 in Mathematical Constants Cambridge England Cambridge University Press pp 262264 2003 反階乘 反階乘是階乘的反函式，用於求解指定的數是哪個數的階乘。例如 120 的反階乘為 5，因為 5 的階乘為 120。反階乘可以透過泰勒級數或反伽瑪函式來評估與計算。 反階乘可以用了推算某個數大約是多少的階乘。 由於階乘與伽瑪函式之間的關聯，反階乘也可以透過反伽瑪函式近似公式來估計： mathrm ArcFactorialleft zrightapprox1alphasqrt frac 2left xGammaleft alpharightrightPsileft 1 alpharightGammaleft alpharight 因此，反階乘也可以寫成如下的漸近分析形式： mathrm ArcFactorialleft xright simfrac lnleft frac xsqrt 2pirightW_0left e1lnleft frac xsqrt 2pirightrightfrac 12 其中 W_0 x 是朗伯 W 函式。這個公式是利用史特靈公式求逆得到的，因此也可以展開為漸近級數。 符號史 瑞士數學家尤拉（Euler L）於 1751 年用大寫字母 M 表示 m 階乘 M1cdot 2cdot 3cdot cdots cdot m。 義大利數學家魯菲尼（Ruffini P）在 1799 年出版的方程著述中，用小寫字母 pi 表示 m 階乘。 德國數學家高斯（Gauss CF）於 1818 年則用 Pi n 表示 n 階乘。 用符號 underline mid n 表示 n 階乘的方法起源於英國，尚不能確定其創始人，1827 年，由雅來特（Jarrett）的建議得以流行，現代有時亦用此階乘符號。 現在通用的階乘符號 n 是法國數學家克拉姆（Kramp C）於 1808 年最先提出來的，後經德國數學家、物理學家格奧爾格歐姆（Ohm M）等人的倡議而流行起來，直用到現在。 參見 伽瑪函式 斯特靈公式 階乘倒數 排列組合 威爾遜定理 註釋 參考文獻 Category 階乘與二項式主題 Category 組合數學 J Category 伽瑪及相關函式 Category 乘法