Python写一份用递归函数有 n 个数,从中选出 k 个数,问有多少种选择?
时间: 2024-05-09 08:15:43 浏览: 125
Choosenk.m:从 n 个对象中选择 k 个对象的方法数-matlab开发
以下是Python递归函数实现从n个数中选出k个数的组合数量的代码:
```python
def combination(n, k):
# 基本情况
if k == 0 or k == n:
return 1
# 递归情况
return combination(n-1, k-1) + combination(n-1, k)
```
其中,当k=0或k=n时,只有一种选择,即不选或全选;当k和n不相等时,可以分为选第n个数和不选第n个数两种情况,因此可以使用递归实现。
例如,从5个数中选3个数的组合数量为:
```python
print(combination(5, 3)) # 输出10
```
输出结果为10,即从5个数中选3个数有10种选择。
阅读全文