免费阶乘计算器

输入数字计算阶乘

什么是阶乘?

非负整数nn的阶乘,记作n!n!, 是从1到nn所有正整数的乘积。例如,5!=5×4×3×2×1=1205! = 5 \times 4 \times 3 \times 2 \times 1 = 120。这个运算通常被称为“n阶乘”或“一个数的阶乘”,其意义远不止重复乘法的简单缩写。它是组合数学、概率论以及物理学许多分支的基石。在线 阶乘计算器 — 免费在线N阶乘计算器 可让您立即计算0到170之间任意整数的阶乘,包括特殊的零阶乘情况。

阶乘公式及其递推关系

阶乘的核心是一个简单的递推关系:

n!=n×(n−1)!n! = n \times (n-1)!

这个关系意味着,知道(n−1)!(n-1)!的值就可以通过一次乘法直接得到n!n!。例如,由于5!=1205! = 120,我们可以得到6!=6×120=7206! = 6 \times 120 = 720。该递推关系还对0!0!强制指定了一个值:代入n=1n = 1可得1!=1×0!1! = 1 \times 0!,因此0!0!必须等于1才能保持公式一致。这一约定现已普遍接受。

小数的阶乘值

下表列出了n=0n = 0到1010的阶乘:

nnn!n!
01
11
22
36
424
5120
6720
75040
840320
9362880
103628800

可以看到,阶乘增长极快。到10!10!时已经超过360万,对于更大的nn,手动计算变得不切实际,因此专门的阶乘计算器或对数方法是更好的选择。

为什么0!等于1?

零的阶乘(0!=10! = 1)常常引起好奇。原因有两点。首先,递推关系式1!=1×0!1! = 1 \times 0!要求0!=10! = 1,否则该公式将失效。其次,在组合数学中,零个物体的集合只有一种排列方式——空排列。许多公式(例如二项式系数)依赖这个值保持定义良好。因此,数学家将0!=10! = 1定义为必要且自然的约定。

用伽马函数扩展阶乘

普通阶乘只对整数定义。为了处理非整数输入,我们引入伽马函数:

Γ(z)=∫0∞tz−1e−t dt\Gamma(z) = \int_{0}^{\infty} t^{z-1} e^{-t} \, dt

对于任意正整数nn,伽马函数与阶乘通过n!=Γ(n+1)n! = \Gamma(n+1)相关联。这一偏移使我们能够计算诸如(0.5)!(0.5)!之类的值,通过Γ(1.5)=π2\Gamma(1.5) = \frac{\sqrt{\pi}}{2}。实际上,(−0.5)!=π(-0.5)! = \sqrt{\pi},(0.5)!=π2(0.5)! = \frac{\sqrt{\pi}}{2}。一个密切相关的Pi函数(Π(z)=∫0∞tze−tdt\Pi(z) = \int_{0}^{\infty} t^{z} e^{-t} dt)无需偏移直接满足Π(n)=n!\Pi(n) = n!,但在实践中伽马版本更常用。

大数阶乘的斯特林近似

当nn很大时,直接乘法不可能。斯特林近似给出了极好的估计:

n!≈2πn(ne)nn! \approx \sqrt{2\pi n} \left(\frac{n}{e}\right)^n

例如,1000!1000!约为10256710^{2567}。该公式广泛应用于统计物理、信息论和算法分析,用于估计大阶乘的大小,而无需存储巨大数字。

实际应用

阶乘出现在许多实践和理论场景中:

  • 组合数学 – nn个不同物体的排列数:n!n!。从nn个中选kk个的组合数:n!k!(n−k)!\frac{n!}{k!(n-k)!}。
  • 概率论 – 二项分布使用n!k!(n−k)!pk(1−p)n−k\frac{n!}{k!(n-k)!}p^k(1-p)^{n-k}。
  • 物理学 – 统计力学使用阶乘计算粒子分布中的微观状态数。
  • 微积分 – 泰勒级数展开,如ex=∑n=0∞xnn!e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!}。
  • 数论 – 阶乘出现在整除性证明和质数计数函数中。

如何在代码中计算阶乘

多数编程环境提供内置的阶乘支持或简单的循环:

  • Python – import math; math.factorial(x)(从Python 2.6开始可用)。
  • Excel – FACT(number) 返回整数的阶乘。
  • Matlab – 包含 factorial(x)。
  • C++/Java/JavaScript – 没有标准阶乘函数,但简单的 for 循环(ans = 1; for i in 1..n: ans *= i)即可工作。

使用在线阶乘计算器

阶乘计算器 — 免费在线N阶乘计算器 旨在提供快速、准确的结果。输入0到170之间的任意整数,计算器会显示精确的阶乘值。上限是由于双精度浮点数的限制:170!≈7.26×10306170! \approx 7.26 \times 10^{306},接近最大可表示值(≈1.8×10308\approx 1.8 \times 10^{308})。超过该值,数字将超出标准格式范围。此工具非常适合学生、教师和需要快速阶乘计算且避免人为错误的专业人士。

常见问题

1. 阶乘如何对非整数定义?

阶乘可以通过伽马函数扩展:对于任意正实数(除负整数外),n! = Γ(n+1)。例如,(0.5)! 等于 π 的平方根的一半。

2. 为什么阶乘计算器只支持170以内的数字?

限制源于双精度浮点数的约束。170! 约 7.26×10^306,接近最大可表示值(约1.8×10^308)。更大的阶乘会导致数据类型溢出。

3. 正整数的阶乘公式是什么?

对于正整数 n,n! = 1 × 2 × 3 × … × n。同时满足递推关系 n! = n × (n-1)!,从而可以通过较小的阶乘计算较大的阶乘。

4. 阶乘在现实生活中有什么用途?

阶乘在组合数学(排列与组合)、概率论(二项分布)、物理学(统计力学)和数学(泰勒级数)中至关重要。在计算机科学中,它也用于算法分析和编码组合函数。

使用方法

  1. 在输入框中输入任意非负整数(0-170)。
  2. 阶乘结果会在输入时自动计算。
  3. 查看显示n!完整数值的结果。