階乘
在數學中，正整数的階乘（）是所有小於及等于該數的正整數的積，計為，例如5的階乘計為，其值為120： 並定義，1的階乘和0的階乘都為1，其中0的階乘表示一個空積。
1808年，基斯頓·卡曼引進這個表示法：formula_2，符號formula_3表示連續乘積，亦即n!=1×2×3×...×n。階乘亦可以遞迴方式定義：0!=1，n!=(n-1)!×n。除了自然數之外，階乘亦可定義于整個實數（負整數除外），其与伽瑪函數的关系为：
階乘應用在許多數學領域中，最常應用在組合學、代數學和数学分析中。在組合學中，階乘代表的意義為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年使用。
階乘可透過連乘積來定義： 用連乘積符號可表示為： 從上述公式中，可以推導出遞歸關係： 但遞迴定義須給出base case，因此需要定義零的階乘。 除此之外，遞迴關係在階乘函數中各個值皆成立，例如： 為了將遞歸關係擴展到n = 0，因此需要定義0的階乘：
可以得到
有幾個獨立的理由認為這個定義是和諧的。 其中包括：
n!可质因子分解为formula_18，如6!=2×3×5。
計算n!時，若n不太大，普通的科學計算機都可以計算，能夠處理不超過formula_19（古高爾）數值的計算機可以計算至69!，而雙精度浮點數的計算機則可計算至170!。
當n很大時，可用斯特林公式估計： formula_20 更精确的估计是： formula_21 其中 formula_22
階乘原始的定義是在整數，為離散，然而在部分領域如機率論要探討到連續或其他需求（如組合數當取出的數量大於原有的數量會出現負階乘）時，則需要將階乘從正整數推廣到實數，甚至是複數。
除了非負整數之外，還可以為非整數值定義階乘函數，但這需要使用更高級的數值分析方法。
可以透過插值的方式將階乘兩整數之間填入數值，但其插入的數值必須也要滿足階乘的遞迴定義。一個良好的插值結果是Γ函数，其為所有非負整數和複數給出了定義，而當z的實部為正時，可以透過下列瑕積分來計算Γ函数值： 它與階乘的關係是對於任何自然數n滿足：
可以透過Γ函數來計算複數的階乘。右圖顯示了複數階乘之模與輻角的等值線
令f為： 右圖顯示了幾個模（絕對值）與輻角的幾個等級，圖表的繪製範圍為, 個單位長。較粗的鉛直線為輻角值為的等值線。
細線表示模或輻角相等之函數值的位置。在每個負整數的位置為奇點，無法定義其模和輻角，並且在離奇點越近的地方，等值線的密度就越密集。
在時，可使用泰勒級數來計算： 其泰勒級數的前幾項係數為：
其中，為歐拉-馬斯刻若尼常數 部分計算機代數的系統存在可以直接產生這些展開式係數的語法，例如SageMath。
此種方式甚至可以將階乘推廣至四元數甚至其他數學結構。 較大的階乘值可透過双伽玛函数積分的連續分數來近似，這個方法由T. J. Stieltjes於1894提出。
將階乘寫為，其中為： Stieltjes給出了其連分數值： 前幾項係數為：
負整數的階乘可透過階乘的遞迴定義逆推而得： 但由於在此定義下計算負一的階乘會出現除以零（即formula_30），因此無法直接給出負整數的階乘。
透過伽瑪函數或其展開式亦可以將階乘擴展到其他能定義加法和乘法等基本運算的數學結構，如矩陣。
矩陣的階乘具有如下性質： 並且formula_32，其中，formula_33是單位矩陣、formula_34是一個方陣，同時formula_35是一個非奇異矩陣。
換句話說，即矩陣formula_34為單位矩陣的純量formula_37倍，其階乘為formula_38，例如formula_39
對於一個可對角化矩陣formula_40其階乘為： 其中，formula_42和formula_43是formula_44的特徵值，分別為formula_45和formula_46，其中，formula_47
階乘的定義可推廣到複數，其与伽瑪函數的关系为：
伽瑪函數滿足formula_49，
另一種定义扩展是阿達馬伽瑪函數，但由於其不在所有實數上皆能滿足階乘的遞迴定義，只有在正整數上滿足階乘的遞迴定義因此比較少被拿出來討論。 其後面的項formula_51只有在正整數的情形為零。也因為其有加上一項，也因此，此擴展在描述負階乘時不會有除以零的情況，而使阿達馬伽瑪函數是一個處處連續、無奇點的函數。formula_55表示双階乘，其定義為： formula_56
formula_57
無視上述定義的n!!因為即使值的N，雙階乘為奇數可擴展到最實數和複數z的注意到，當z是一個正的奇數則：
獲得的表達接受一個以上公式formula_59和formula_60並表示在條件發生的階乘函數的γ既可以看出（使用乘法定理）等同於一個給定在這裡。
"z"!!定義為所有複數除負偶數。
比較上式與formula_61的原始定義，廣義的雙階乘在formula_61的計算上須包含formula_63，即
formula_64
其中 formula_65
使用它的定義，半徑為R的n維超球其體積可表示為：
formula_68被称为n的k重阶乘，定义为： 能將多重階乘推廣到複數（甚至是四元數） 所謂的四次阶乘（又称四重阶乘） 不是 "n"!，而是 (2"n")!/"n"!,前幾個四次階乘為
它也等於
hyper階乘（hyperfactorial有時譯作過度階乘）寫作H（n），其定義為： hyper階乘和階乘差不多，但產生更大的數。hyper階乘的增長速度卻並非跟一般階乘在大小上相差很遠。 前幾項的hyper階乘為：
1995年，尼爾·斯洛恩和西蒙·普勞夫定義了超階乘（superfactorial）為首n個階乘的積。即sf(n)=1!×2!×3!×...×n!。一般來說 前幾項的超階乘為：
柯利弗德·皮寇弗在他的書"Key to Infinity"定義了另一個超階乘，寫作formula_74（formula_74實際上應該是!和S重疊在一起）：formula_76表示hyper4，使用高德納箭號表示法即formula_77。這個數列：
質數階乘是所有小於或等於該數且大於或等於2的質數的積，自然數n的質數階乘，寫作n#。
目前質數階乘只能用遞迴方式定義，因為尚未找到一個能用基本函數表示所有質數的函數或一條包含所有質數的曲線
一般情況下質數階乘定義為：
其中, "π(n)"是質數計數函數，小於或等於某個實數n的質數的個數的函數≤"n"。
阶幂也称叠幂或者重幂记作formula_84（感叹号!写在自然数的右上角），它的定义是将自然数1至n的数由大到小作幂指数重叠排列，数学定义如下：
其中n ≥ 1，前几项的重幂数为：
1 , 2 , 9 , 262144 , ...
第5个重幂数是一个有183231位阿拉伯数字组成的超大自然数，其值約為formula_86
另外一種定義則是每個阶幂都先取一次階乘：
二次阶幂：
其中"n"，"m"≥1，且"n"，"m"∈Z。
倒數階乘是指所有小於及等於該數的正整數之倒數的積，其值與階乘的倒數相同： 其無窮級數收斂在e： 考量階乘可以表示為連續的伽瑪函數，則有 這個值又稱為。