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
,对于最大的输入,阶乘只计算一次,每个结果都在过程中计算。输出数据类型增加到int64
或object
如果有必要的话。使用
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