Python 中的二項式係數

Shivam Arora 2023年1月30日 2021年10月2日
  1. 在 Python 中使用 scipy 模組計算二項式係數
  2. 在 Python 中使用 math.comb() 函式計算二項式係數
  3. 在 Python 中使用 operator 模組計算二項式係數
  4. 在 Python 中使用 math.fact() 函式計算二項式係數
Python 中的二項式係數

從數學上講,二項式係數是 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 不存在,因此無法使用。為了彌補這一點並在更短的時間內生成輸出,我們可以一起使用 mathoperator 模組。

使用 operator.mul 建立一個 lambda 函式乘積以獲取數字的乘積。

例如,

import math
import operator
from functools import reduce
product = lambda m,n: 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

相關文章 - Python Math