加法原理
若完成一件事的方法有 N 类,其中第 i 类方法包括 ai 种不同的方法,且这些方法互不重合,则完成这件事共有 a1 + a2 + a3 + a4 +...... + aN 种不同的方法。
乘法原理
若完成一件事需要 N 个步骤,其中第 i 个步骤有 ai 种不同的完成方法,且这些步骤互不干扰,则完成这件事共有 a1 * a2 * ...... * aN 种不同的方法。
排列数
从 N 个不同元素中依次取出 M 个元素排成一列,产生的不同排列的数量为:
$$ A_{N}^{M} $$
$$ 即 N * (N - 1) * ...... * (N - M + 1) $$
组合数
从 N 个不同元素中取出 M 个组成一个集合 (不考虑顺序),产生的不同集合数量为:
$$ C_{N}^{M} $$
$$ 即 n! / (m! * (n - m)!) $$
性质
$$ C_{N}^{M} = C_{N}^{N - M} $$
$$ C_{N}^{M} = C_{N - 1}^{M} + C_{N - 1}^{M - 1} $$
$$ C_{N}^{0} + C_{N}^{1} + C_{N}^{2} +\cdot \cdot \cdot + C_{N}^{N} = 2^N $$
证明:
$$ C_{N}^{M} = C_{N}^{N - M} $$
由组合数的定义,对于从 N 个不同元素中取出 M 个组成的每个集合,剩余未取出的元素也构成一个集合,两个集合一一对应,所以性质一成立:
$$ C_{N}^{M} = C_{N - 1}^{M} + C_{N - 1}^{M - 1} $$
从 N 个不同元素中取出 M 个组成一个集合有两类方法:取 N 号元素、不取 N 号元素。若取 N 号元素,则应在剩余 N - 1 个元素中选出 M - 1 个,有
$$ C_{N - 1}^{M - 1} 种取法 $$