scipy.special.factorial

scipy.special.factorial(n, exact=False)[源代码]

一个数或数组的阶乘。

非负整数的阶乘 n 是所有小于或等于的正整数的乘积 n ::

n! = n * (n - 1) * (n - 2) * ... * 1
参数
nINT的INT或ARRAY_LIKE

输入值。如果 n < 0 ,返回值为0。

exact布尔值,可选

如果为True,则使用长整型算术精确计算答案。如果为false,则使用 gamma 功能。默认值为False。

退货
nf浮点、整型或ndarray

的阶乘 n 、整型或浮点型,具体取决于 exact

注意事项

对于具有 exact=True ,对于最大的输入,阶乘只计算一次,每个结果都在过程中计算。输出数据类型增加到 int64object 如果有必要的话。

使用 exact=False 阶乘是使用伽马函数近似的:

\[n!=\Gamma(n+1)\]

示例

>>> from scipy.special import factorial
>>> arr = np.array([3, 4, 5])
>>> factorial(arr, exact=False)
array([   6.,   24.,  120.])
>>> factorial(arr, exact=True)
array([  6,  24, 120])
>>> factorial(5, exact=True)
120