通过MCP连接 →

输入计算

数学公式

数学公式: 阶乘与双阶乘计算器
Show calculation steps (1)
  1. Double factorial (real x)

    Double factorial (real x): 阶乘与双阶乘计算器

    Even n: n*(n-2)*...*2; odd n: n*(n-2)*...*1; 0!!=1, (-1)!!=1. The closed form extends to real x.

广告

结果

结果
120
计算方法 小整数采用精确连乘;其余情形使用伽马 / 对数伽马函数

这个计算器能做什么

本工具可针对一个数值 x 计算四个相关结果:阶乘 x!、双阶乘 x!!,以及它们各自的自然对数 ln(x!)ln(x!!)。只需在「函数」下拉框中选择想要的结果,输入 x 的取值,即可读取答案。整个运算是无量纲的,因此不涉及任何单位或换算。

使用方法

先选择一个函数(x!、ln(x!)、x!! 或 ln(x!!)),在变量 x 中填入数值,然后提交。对于整数,x! 与 x!! 沿用经典的组合学定义。计算引擎同样支持实数(非整数):它借助伽马函数求值,例如 \(0.5! = \sqrt{\pi}/2\)。负整数对应伽马函数的极点,此时阶乘无定义。

公式详解

阶乘通过 \(x! = \Gamma(x+1)\)(即伽马函数)推广到实数。双阶乘则每隔一项相乘:偶数 n 为 \(n\cdot(n-2)\cdot\cdots\cdot 2\),奇数 n 为 \(n\cdot(n-2)\cdot\cdots\cdot 1\),并约定基准情形 \(0!! = 1\) 与 \((-1)!! = 1\)。一个统一的封闭表达式可覆盖所有实数 x:

$$x!! = 2^{\frac{x}{2}+\frac{1-\cos\pi x}{4}}\,\pi^{\frac{\cos\pi x - 1}{4}}\,\Gamma\!\left(\tfrac{x}{2}+1\right)$$

对于非常大的自变量,计算器会在对数空间中借助对数伽马函数(log-gamma)运算,从而避免溢出:

$$\ln(x!) = \text{lgamma}(x+1)$$
平滑的伽马函数曲线,曲线上标出整数阶乘值的点
伽马函数将阶乘扩展到所有实数,整数阶乘值落在曲线上。
示意图:阶乘为所有整数的乘积,双阶乘为每隔一个整数的乘积
阶乘将每个整数一直乘到 1;双阶乘则隔一个整数相乘。

实例演示

设函数 = x!!,x = 6。6 的双阶乘为 \(6\cdot 4\cdot 2 = 48\)。切换到 ln(x!!) 则得到 \(\ln(48) \approx 3.8712010109\)。同理,x = 5 选择 x! 得到 \(1\cdot 2\cdot 3\cdot 4\cdot 5 = 120\),而 5 的 ln(x!) 为 \(\ln(120) \approx 4.7874917428\)。

常见问题

为什么要提供对数版本? 阶乘增长极快,在 \(x \approx 1.7\times 10^{308}\) 附近就会让普通浮点数溢出。对数输出让你能够精确处理天文级别的超大自变量。

x 可以是小数吗? 可以。非整数 x 采用伽马函数的推广形式,从而在整数取值之间平滑插值。

负数 x 怎么办? 负的非整数是允许的(通过伽马函数计算),但负整数对应极点,此时阶乘与双阶乘都无定义。

最后更新: