无需登录 数据私有 本地保存

阶乘计算器 - 大整数阶乘n!在线快速运算

34
0
0
0

阶乘计算器

支持大整数阶乘 n! 在线计算,结果精确到个位,最高支持 10,000! 的完整运算。

n!
快捷:

超过 1000 时计算可能需要短暂时间,请耐心等待。

计算结果
0 末尾 0 个零 0 ms
科学计数法近似:
等待计算...
常见问题与知识点

阶乘是所有小于及等于该数的正整数的乘积,记作 n!

数学定义:n! = n × (n−1) × (n−2) × ... × 3 × 2 × 1

例如:5! = 5 × 4 × 3 × 2 × 1 = 120

特别规定:0! = 1(空乘积约定为 1,这在组合数学中非常重要)。

0! = 1 是基于空乘积的数学约定。可以从以下几个角度理解:

  • 排列数公式:从 n 个元素中选取 k 个的排列数 P(n,k) = n!/(n−k)!。当 n=k 时,P(n,n) = n!/0! = n!,因此 0! 必须等于 1 才能使公式自洽。
  • 递推关系:n! = n × (n−1)!,当 n=1 时,1! = 1 × 0!,即 1 = 1 × 0!,所以 0! = 1。
  • 伽马函数:Γ(1) = 0! = 1,这与阶乘的连续扩展一致。

阶乘是超指数增长的函数,增长速度极快:

  • 10! = 3,628,800(约 3.6 × 10⁶,7位)
  • 20! ≈ 2.43 × 10¹⁸(19位)
  • 50! ≈ 3.04 × 10⁶⁴(65位)
  • 100! ≈ 9.33 × 10¹⁵⁷(158位)
  • 1000! ≈ 4.02 × 10²⁵⁶⁷(2568位)
  • 10000! ≈ 2.85 × 10³⁵⁶⁵⁹(35660位)

斯特林公式给出了阶乘的渐近近似:n! ≈ √(2πn) × (n/e)ⁿ,可用于估算大数阶乘的数量级。

本工具上限为 n = 10,000。对于 10,000!,结果多达 35,660 位数字,使用 JavaScript BigInt 进行精确计算。

对于 n ≤ 1000,计算几乎瞬间完成;n 在 1000~5000 之间需要数十到数百毫秒;n=10000 可能需要 1~3 秒,请耐心等待。

如果需要计算更大的阶乘(如 n=100,000),建议使用专业数学软件(如 Mathematica、Maple、Python 的 sympy 等)。

n! 末尾零的个数等于 n! 中因子 5 的个数(因为因子 2 总是比因子 5 多)。使用勒让德公式

Z = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ⌊n/625⌋ + ...

例如 n=100:⌊100/5⌋=20,⌊100/25⌋=4,⌊100/125⌋=0,总和 24 个零

本工具会在结果中自动计算并显示末尾零的个数。

  • 排列与组合:n 个不同元素的排列数为 n!,从 n 个中选 k 个的组合数为 C(n,k) = n!/(k!(n−k)!)。
  • 概率论:阶乘出现在二项分布、泊松分布等概率模型中。
  • 泰勒级数:许多函数的泰勒展开式中包含阶乘项,如 eˣ = Σ(xⁿ/n!)。
  • 数论:阶乘与素数分布、威尔逊定理等数论问题密切相关。
  • 算法分析:许多算法的时间复杂度涉及阶乘(如旅行商问题的暴力解法 O(n!))。

双阶乘(记作 n!!)是隔位相乘:

  • 当 n 为奇数时:n!! = n × (n−2) × (n−4) × ... × 1
  • 当 n 为偶数时:n!! = n × (n−2) × (n−4) × ... × 2

例如:7!! = 7×5×3×1 = 105;8!! = 8×6×4×2 = 384。

双阶乘常见于球坐标体积积分、沃利斯公式等场景。本工具目前仅支持标准阶乘 n!。