如何计算排列和组合——完全指南

学习使用清晰的公式和示例计算排列和组合。理解顺序何时重要、阶乘运算和实际计数问题。

计数原理

在深入排列和组合之前,了解两个基本计数原理很有帮助。乘法原理指出,如果一个任务可以用 m 种方式完成,第二个独立任务可以用 n 种方式完成,那么两个任务一起可以用 m × n 种方式完成。例如,如果你有 5 件衬衫和 3 条裤子,你可以搭配出 5 × 3 = 15 套服装。加法原理说,如果一个事件可以用 m 种方式发生,另一个互斥事件可以用 n 种方式发生,总数为 m + n。这些原理构成了所有计数公式的基础,包括排列和组合。

什么是阶乘?

非负整数 n 的阶乘,写作 n!,是从 1 到 n 的所有正整数的乘积。所以 5! = 5 × 4 × 3 × 2 × 1 = 120。按照约定,0! = 1。阶乘增长极其迅速:10! = 3,628,800,20! ≈ 2.43 × 10¹⁸。阶乘出现在排列和组合的公式中,因为它们代表排列 n 个不同对象的总方式数。理解阶乘对于组合数学至关重要,因为它们简化了计数问题的符号和计算。许多计算器有专用的阶乘按键,编程语言也提供阶乘函数。

排列:顺序重要时

排列是对象的排列,其中顺序很重要。从 n 个不同对象中选取 r 个对象进行排列的方式数为 P(n, r) = n! / (n - r)!。例如,从 10 名运动员中选出 3 人分别授予金、银、铜牌的方式数为 P(10, 3) = 10! / 7! = 10 × 9 × 8 = 720。每种排列都被分别计数:金牌给 Alice、银牌给 Bob 不同于金牌给 Bob、银牌给 Alice。当 r = n(排列所有对象)时,公式简化为 n!。例如,在书架上排列 6 本书的方式数为 6! = 720。

组合:顺序不重要时

组合是选取对象,其中顺序不重要。从 n 个不同对象中选取 r 个的方式数为 C(n, r) = n! / (r! × (n - r)!),也写作"n 选 r"。例如,从 10 人中选出 3 人组成委员会的方式数为 C(10, 3) = 10! / (3! × 7!) = 720 / 6 = 120。与排列的区别在于除以 r!,它解释了 r 个对象可以在内部以 r! 种方式重新排列,而所有这些都算同一个组合。选择 {Alice, Bob, Carol} 是同一个委员会,不论列出的顺序如何。

排列与组合:如何区分

关键问题是:选择的顺序重要吗?如果重新排列所选项目会产生不同的结果,使用排列。如果重新排列产生相同的结果,使用组合。排名、序列、密码和安排是排列问题。委员会、团队、小组和集合是组合问题。一个有用的判断方法:如果你会将结果描述为"一组"或"一个集合",它是组合;如果你会描述为"一个序列"或"一种排列",它是排列。例如,从 49 个号码中选 5 个彩票号码是组合(抽出的顺序对中奖不重要),但将 5 个任务以特定顺序分配给 5 名员工是排列。

允许重复的排列

当允许重复时,公式会改变。如果你从 n 种类型中选取 r 个项目进行排列,且每种类型可以使用多次,排列数为 n^r。例如,一个 4 位 PIN 码,每位可以是 0-9,有 10⁴ = 10,000 种可能。另一种允许重复的排列出现在排列某些对象相同的情况下。n 个对象中有 n₁ 个一种、n₂ 个另一种等等的不同排列数为 n! / (n₁! × n₂! × ... × nₖ!)。例如,"MISSISSIPPI" 字母的不同排列数为 11! / (1! × 4! × 4! × 2!) = 34,650。

允许重复的组合

允许重复的组合(也称为多重集)计算从 n 种类型中选取 r 个项目(允许重复且顺序不重要)的方式数。公式为 C(n + r - 1, r) = (n + r - 1)! / (r! × (n - 1)!)。例如,从 5 种口味中选 3 勺冰淇淋(可以重复口味)的方式数为 C(5 + 3 - 1, 3) = C(7, 3) = 35。这种场景通常用"星与条"技术建模,将 r 个相同的物品分配到 n 个不同的类别中。这类问题出现在资源分配、多项式项计数和许多优化背景中。

应用和解题技巧

排列和组合广泛用于概率、统计学、计算机科学和日常决策中。在概率中,有利结果数和总结果数通常使用这些公式计算。在遗传学中,组合决定了等位基因在繁殖过程中如何配对。在计算机科学中,组合出现在算法分析和优化中。解决问题时,首先确定对象总数(n)、被选取的数量(r)、顺序是否重要,以及是否允许重复。画一个决策树或列出小规模情形来验证你的公式。许多复杂问题可以使用乘法原理结合排列和组合分解为更简单的子问题。

相关计算器