组合数递推式为:
Ckn=n−k+1kCk−1nCnk=n−k+1kCnk−1
它可以很明显的用组合数公式证明,但是它的“实际意义”却并不明显。为了更好的理解该公式,本文对该公式进行解释。
为了更好理解,我们写出组合数递推式的等价形式:
Ck+1n=n−kk+1CknCnk+1=n−kk+1Cnk
我们知道组合数 CknCnk 表示 nn 个不同元素中选出 个元素的方法数。
- 我们如果已知 CknCnk 的值,每个被选中的 kk 个元素的组合,添加一个没有被选中的元素(没有被选中的元素个数为 ),这样就得到了 (n−k)Ckn(n−k)Cnk (这样每个组合中有 k+1k+1 个元素)。
但是这样选出的组合中有重复出现,例如形成的 k+1k+1 个元素的组合 a1,a2,...,ak,ak+1a1,a2,...,ak,ak+1 ,可能是
- a1a1 添加了 a2,a3,...,ak,ak+1a2,a3,...,ak,ak+1 形成的
- a2a2 添加了 a1,a3,...,ak,ak+1a1,a3,...,ak,ak+1 形成的
… - akak 添加了 a1,a2,...,ak−1,ak+1a1,a2,...,ak−1,ak+1 形成的
- ak+1ak+1 添加了 a1,a,2...,ak−1,aka1,a,2...,ak−1,ak 形成的
这样对于每一个 k+1k+1 个元素的组合重复计数了 kk 次,所以需要除以 ,得到 Ck+1n=n−kk+1CknCnk+1=n−kk+1Cnk 。