🔢 阶乘计算器
即时计算任意非负整数的阶乘。
这是什么工具?
阶乘计算器是一款免费在线工具,可计算任意非负整数的阶乘。阶乘是组合数学、概率论以及数学和计算机科学许多领域中的基础概念。本计算器使用任意精度算术处理大数输入。 非负整数 n 的阶乘,写作 n!,是从 1 到 n 所有正整数的乘积。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。根据定义,0! = 1。阶乘增长极快:10! 已经是 3,628,800,20! 约为 2.4 × 10¹⁸,100! 有 158 位数字。这种快速增长使阶乘在排列组合计算中不可或缺。 阶乘在数学中无处不在。它们用于计算排列物体的方式数(排列)、从集合中选择项目的方式数(组合)、二项式定理中的系数、微积分中的 Taylor 级数展开,以及 Poisson 分布等概率分布。本计算器使用 BigInt 算术来处理任意大的阶乘而不损失精度。运作原理
本计算器使用 BigInt(JavaScript 内置的任意精度整数类型)来计算阶乘。普通 JavaScript 数字对于超过 2⁵³(约 9 × 10¹⁵)的整数会丢失精度,这意味着 20! 及以上用普通数字将不准确。BigInt 完全避免了这一限制,因此计算器可以精确计算 1000! 甚至更大的阶乘。 算法是简单的迭代乘法:从 1 开始,然后依次乘以从 2 到 n 的每个整数。为了在非常大的数字下提高效率,实现中使用了分治法来处理大 BigInt 值的乘法,对于大输入来说比朴素的顺序乘法更快。 计算器还提供结果中的数字位数,这有助于理解大阶乘的数量级。它使用 Stirling 近似公式来估算数字位数以进行验证:log₁₀(n!) ≈ n × log₁₀(n) - n × log₁₀(e) + 0.5 × log₁₀(2πn)。Ad
使用方法
- 输入一个非负整数(0 到 10000)。
- 点击计算按钮求出阶乘。
- 查看精确结果及数字位数。
- 将完整结果复制到剪贴板。
- 尝试不同的值以探索阶乘的增长。
常见问题
常见问题
阶乘增长有多快?
阶乘的增长速度超过指数函数。5! = 120,10! = 3,628,800,20! ≈ 2.4 × 10¹⁸。到 70! 时,结果已超过可观测宇宙中的原子总数。
为什么 0! 等于 1?
根据定义,0! = 1。这使数学公式保持一致。例如,排列 0 个物体的方式数为 1(空排列),而组合数公式 C(n,0) = 1 也要求 0! = 1。
我能计算的最大阶乘是多少?
本计算器使用 BigInt 算术可处理高达约 10000! 的阶乘。超过这个范围,计算可能耗时过长或结果太大而无法高效显示。
阶乘在现实生活中有何用途?
阶乘用于排列计数:5 本书在书架上的排列方式有 5! = 120 种。它们还用于概率论(Poisson 分布)、统计学(二项式系数)、物理学(量子力学)和计算机科学(算法分析)。
技巧与建议
阶乘是组合数学的基石。排列 n 个不同物体的方式数为 n!。从 n 个物体中选择 k 个的方式数为 n! / (k! × (n-k)!)。处理大阶乘时,Stirling 近似提供了快速估算:n! ≈ √(2πn) × (n/e)ⁿ。请记住阶乘的增长速度超过指数函数,这就是为什么具有阶乘时间复杂度的算法(如暴力排列)在 n > 12 左右就变得不切实际。对于涉及阶乘的概率计算,通常可以在相乘之前先约去一些项,以避免处理巨大的中间数字。