组合计数
表示在 中选取 个元素。
基础计算公式
递推计算公式:
理解:在a个学生中,选择b个干杂活。对于 a 中的某一个学生小白,选完后只有如下两种情况:
- 没有选择小白。此时共有 种选择,即在排除小白外的其他 名学生中选择 名学生
- 小白入选了。此时公共 种选择,因为除了小白,还要选 个学生
最后,将这两种选择累加到一起即可。
def aCb(a, b): # 可以先全初始化为 1 arr = [[1] * (b+1) for _ in range(a+1)] for i in range(0, a+1): for j in range(1, min(b+1, i)): arr[i][j] = arr[i-1][j-1] + arr[i-1][j] return arr[a][b]