k
アイテムのセットからアイテムを選択する方法の数を計算するための再帰的な式はn
、 で示さC(n,k)
れます。
1 if K = 0
C(n,k) = { 0 if n<k
c(n-1,k-1)+c(n-1,k) otherwise
この再帰式を使用しC
て計算する再帰関数を作成しようとしています。C(n,k)
私が書いたコードは自分の思い通りに動くはずですが、正しい答えが得られません。
これは私のコードです:
def combinations(n,k):
# base case
if k ==0:
return 1
elif n<k:
return 0
# recursive case
else:
return combinations(n-1,k-1)+ combinations(n-1,k)
答えは次のようになります。
>>> c(2, 1)
0
>>> c(1, 2)
2
>>> c(2, 5)
10
しかし、私は他の数字を取得しています...コードのどこに問題があるのか わかりません。