用于计算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
但我得到其他数字......看不到我的代码中的问题所在。