Python 中的二項式係數
Shivam Arora
2023年10月10日
-
在 Python 中使用
scipy
模組計算二項式係數 -
在 Python 中使用
math.comb()
函式計算二項式係數 -
在 Python 中使用
operator
模組計算二項式係數 -
在 Python 中使用
math.fact()
函式計算二項式係數
從數學上講,二項式係數是 r
個專案的組合數,可用於形成一組 n
個專案,或者我們可以說這個係數是在無序中選擇結果的方式的數量從可能性的方式。
在本文中,我們將在 Python 中計算二項式係數。
在 Python 中使用 scipy
模組計算二項式係數
SciPy 有兩種方法來計算二項式係數。第一個函式稱為 scipy.special.binom()
。此函式通常有效地處理大值。
例如,
import scipy.special
print(scipy.special.binom(10, 5))
輸出:
252.0
返回二項式係數的第二個函式稱為 scipy.special.comb()
。
例如,
import scipy.special
print(scipy.special.comb(10, 5))
輸出:
252.0
在 Python 中使用 math.comb()
函式計算二項式係數
math
模組中的 comb()
函式返回給定值的組合,該組合本質上與二項式係數具有相同的公式。此方法是對 Python 3.8 及更高版本的最新版本的補充。
例如,
import math
print(math.comb(10, 5))
輸出:
252
在 Python 中使用 operator
模組計算二項式係數
在舊版本的 Python 中,math.factorial
不存在,因此無法使用。為了彌補這一點並在更短的時間內生成輸出,我們可以一起使用 math
和 operator
模組。
使用 operator.mul
建立一個 lambda 函式乘積以獲取數字的乘積。
例如,
import math
import operator
from functools import reduce
def product(m, n):
return reduce(operator.mul, range(m, n + 1), 1)
x = 10
y = 5
product(y + 1, x) / product(1, x - y)
輸出:
252
在 Python 中使用 math.fact()
函式計算二項式係數
我們可以使用 math
模組中的 fact()
函式來實現計算二項式係數的數學公式。
請參考下面的程式碼。
from math import factorial as fact
def binomial(n, r):
return fac(n) // fac(r) // fac(n - r)
print(binomial(10, 5))
輸出:
252