📚 基本概念 阶乘(Factorial)是一个数学概念,指从1到某个正整数n的所有整数的乘积,记作n!。
n! = n × (n-1) × (n-2) × ... × 2 × 1 特别地,根据定义,我们规定:0! = 1
🧮 数学性质 递推关系: n! = n × (n-1)! 定义: 0! = 1, 1! = 1 伽马函数: 对于正整数n,Γ(n+1) = n! 阶乘的增长: 阶乘函数增长非常快,10! = 3,628,800,而20!已经达到2.43×10¹⁸ 📊 常见阶乘值 nn!说明01根据定义111×1222×1363×2×14244×3×2×151205×4×3×2×16720常用数值75,040一周的分钟数840,320常用数值9362,880常用数值103,628,800百万级✨ 特殊阶乘函数 双阶乘 (Double Factorial) n!! = n × (n-2) × (n-4) × ... × (2 或 1) 当n为偶数时,乘到2;当n为奇数时,乘到1。
错位排列 (Subfactorial) !n = n! × Σ_{k=0}^{n} (-1)^k / k! 也称为德蒙瑞特数,表示没有元素在自己原始位置的全排列数。
超阶乘 (Superfactorial) sf(n) = ∏_{k=1}^{n} k! 1! × 2! × 3! × ... × n! 的乘积。
⚙️ 计算原理 精确计算方法:直接乘法: 对于较小的n(n ≤ 20),直接使用整数乘法计算大数运算: 对于较大的n,使用大整数(BigInt)或特殊算法预计算表: 常用阶乘值可预先计算并存储近似计算方法:斯特林公式: n! ≈ √(2πn) × (n/e)^n伽马函数: n! = Γ(n+1)数值积分: 使用数值方法计算积分 Γ(z) = ∫₀^∞ t^{z-1}e^{-t}dt🎯 实际应用 🔢排列组合排列数:P(n,r) = n!/(n-r)!组合数:C(n,r) = n!/(r!(n-r)!)
📊概率统计二项分布、泊松分布等概率分布公式中都包含阶乘
🧬遗传学计算基因型组合、染色体排列的可能性
🔐密码学计算密钥空间大小、排列可能性等
⚠️ 注意事项 阶乘函数增长速度极快,计算大数阶乘时需注意数值溢出问题普通计算机通常只能精确计算到20!左右(约2.43×10¹⁸)对于更大的n,通常使用斯特林公式进行近似计算阶乘只定义在非负整数上,对于其他实数需要使用伽马函数负整数的阶乘是未定义的,但可以通过伽马函数的解析延拓得到复数值