scipy.special.

factorial2#

scipy.special.factorial2(n, exact=False)[代码]#

双重阶乘。

这是跳过每第二个值的阶乘。例如,7!! = 7 * 5 * 3 * 1。可以用如上方法中的伽玛公式进行数值逼近

n!! = 2 ** (n / 2) * gamma(n / 2 + 1) * sqrt(2 / pi)  n odd
    = 2 ** (n / 2) * gamma(n / 2 + 1)                 n even
    = 2 ** (n / 2) * (n / 2)!                         n even
参数:
nint 或 array_like

计算n!!。如果n < 0,则返回值为 0。

exactbool,可选

可以使用上面提到的伽玛公式快速逼近结果(默认)。如果将exact 设置为 True,则使用整数算法精确计算答案。

返回值:
nfffloat 或 int

n 的双重阶乘,具体是 int 还是 float 则取决于exact

示例

>>> from scipy.special import factorial2
>>> factorial2(7, exact=False)
array(105.00000000000001)
>>> factorial2(7, exact=True)
105