看完本篇文章,保证你彻底理解「排列」「组合」这两个相爱相杀的概念到底有何区别。
排列英文名叫 Arrangement 或者 Permutation,本文采用更 fancy 的Permutation来表示排列,下文统称为P。
组合英文名叫 Combination,下文统称为C。
P 和C的本质区别在于:决策的顺序对结果有没有影响。
下面举例说明
现在有8个人,他们的名字分别为:
AliceBobCatherineDonaldElizabethFloriaGatesHinton
现在有 3 个奖杯,本别为 Golden 金牌,Silver 银牌,Bronze 铜牌。
我们的任务是:将这 3 个奖牌颁发给 8 个人中的 3 个,先颁发金牌,再颁发银牌,再颁发铜牌。问颁发奖牌的不同方式总共有哪些?
那么很明显,这是一个 Permutation 排列的问题,因为把金牌先颁给 Alice,再把银牌颁给 Bob,跟把金牌先颁给 Bob,再把银牌颁给 Alice 这是两种不同的颁奖方式。
好了,现在假设我们先把金牌颁发给 Alice,再把银牌颁发给 Bob,再把铜牌颁发给 Catherine:
第一步:颁发金牌 \ufe0f,可以在8个人中任选一个,有8种选择。A可以被替换为 B C D E F G H中的任何一个。
第二步:颁发银牌 ,可以在除去已经获得金牌的人之外的7个人中任选一个,有7种选择。
第三步:颁发铜牌 ,在已经获得金牌、银牌的两个人之外的6个人中任选一个,有6种选择。
那么很明显,总共的颁奖方式有
8 * 7 * 6 种
以此类推,假如我们现在要颁发 8 个奖牌给 8个人,那么我们会按照上述方法,每次颁发一种奖牌,直到奖牌被颁发完为止,这样,颁发奖牌的方式总共有:
8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 种
但是,我们只颁发 3 个奖牌就不颁发了呀,怎么才能在乘到 5 那里停止呢?很明显,摆脱 5 * 4 * 3 * 2 * 1 即可,我们的做法是:把这个尾巴除掉就行啦!
也就是:
这个公式相当于在说:
我们只使用 8 个数字的前 3 个!
那么,如果我们现在有 n 个运动员,要按顺序地颁发 k 个奖牌,有多少不同的颁奖方式呢