什么是双阶乘?
一个数的双阶乘记作 x!!,表示从该数开始、每隔一个整数相乘,一直乘到 1 或 2 为止。如果 x 是奇数,就把所有奇数连乘(例如 \(5!! = 5\cdot 3\cdot 1 = 15\));如果 x 是偶数,就把所有偶数连乘(\(6!! = 6\cdot 4\cdot 2 = 48\))。按惯例规定 \(0!! = 1\),\((-1)!! = 1\)。本计算器借助伽马函数把定义推广到任意实数 x,因此像 \(0.5!!\) 这样的非整数点也能直接求值。
如何使用本计算器
只需填入三个数字:x 的初始值(序列的第一个点)、步长(每行在 x 上累加的量),以及重复次数(要生成多少行)。计算器会按 $$x_i = \text{初始值} + i\cdot\text{步长}, \quad i = 0, 1, \dots, \text{次数}-1$$ 构造序列,并把每个 x 和它的双阶乘并排列出。设初始值 = 1、步长 = 1,即可得到经典的 \(1!!\)、\(2!!\)、\(3!!\)… 数值表;改用小数步长,则能描绘出光滑的解析曲线。
公式详解
对于整数,我们采用精确的连乘循环,避免舍入误差。对于一般的实数 x,计算器使用解析延拓公式 $$x!! = \left(\frac{2}{\pi}\right)^{\frac{1-\cos(\pi x)}{4}} 2^{\frac{x}{2}}\,\Gamma\!\left(\frac{x}{2}+1\right)$$ 其中 \(\Gamma\) 为伽马函数(使用 Lanczos 近似计算)。当 x 为偶整数时 \(\cos\pi x = 1\),\((2/\pi)\) 这一因子消失;当 x 为奇整数时 \(\cos\pi x = -1\),得到 \((2/\pi)^{1/2}\) 的修正项。两种情形都与整数定义完全吻合。
实例演示
取初始值 = 1、步长 = 1、次数 = 8,得到的各行为 \((1,1)\)、\((2,2)\)、\((3,3)\)、\((4,8)\)、\((5,15)\)、\((6,48)\)、\((7,105)\)、\((8,384)\)。用公式验证 \(x = 5\):\(\cos 5\pi = -1\),所以指数为 \(0.5\);\((2/\pi)^{0.5} = 0.7979\),\(2^{2.5} = 5.6569\),\(\Gamma(3.5) = 3.32335\),于是 $$0.7979\cdot 5.6569\cdot 3.32335 \approx 15$$
常见问题
x 必须是整数吗?不必——通过伽马函数延拓,任意实数 x 都能计算。
为什么某个值显示为空或无穷大?负偶整数(-2、-4、…)正好落在伽马函数的极点上,没有定义,计算器会将其标记为 NaN 或无穷大。
双阶乘能算多大?双阶乘以阶乘量级飞速增长,x 较大时会超出双精度浮点的范围;处理很大的数值时,请把重复次数控制得小一些。