Python で組み合わせを求める方法は?
Pythonでは、mathモジュールでcomb関数を用いて組み合わせの数を計算します。comb関数の構文を以下に示します。
math.comb(n, k)
nが要素の個数、kが選択する要素の数として、comb関数は、n個の要素からk個の要素を選ぶ組み合わせの数を出力します。
以下にサンプルコードを示します。
import math
n = 5
k = 2
combination = math.comb(n, k)
print(combination) # 输出为 10
Python3.8以降では、comb関数をmathモジュールから利用することもできます。この関数はmathモジュールで提供されているcomb関数と同じ構文です。以下に例を示します。
import math
n = 5
k = 2
combination = math.comb(n, k)
print(combination) # 输出为 10
また、math モジュールを使いたくない場合は、再帰的に組み合わせ数を計算する方法もあります。サンプルコードを下に示します。
def comb(n, k):
if k == 0 or k == n:
return 1
else:
return comb(n-1, k-1) + comb(n-1, k)
n = 5
k = 2
combination = comb(n, k)
print(combination) # 输出为 10
このcomb関数は、組合わせ数を再帰的に計算しています。kが0またはkがnのときは、組合せ数は1です。それ以外の場合は、組合せ数の性質に従い、再帰的に計算することができます。