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です。それ以外の場合は、組合せ数の性質に従い、再帰的に計算することができます。

bannerAds