📐 数字排列组合公式

从基础定义到进阶应用 · 一篇文章彻底搞懂排列与组合

排列 A(n,m) 组合 C(n,m) 阶乘 n!

📌 排列组合核心公式

🔷 排列数 (Arrangement)

从 n 个不同元素中取 m 个,按顺序排列

A(n,m) = n! / (n−m)! n ≥ m ≥ 0

例如:A(5,3) = 5×4×3 = 60

排列公式示例图
📷 排列公式示意图
🟢 组合数 (Combination)

从 n 个不同元素中取 m 个,不考虑顺序

C(n,m) = n! / [m! (n−m)!] n ≥ m ≥ 0

例如:C(5,3) = 10

组合公式示例图
📷 组合公式示意图

⚡ 重要性质 & 常用结论

对称性
C(n,m) = C(n, n−m)
对称性
递推公式
C(n,m) = C(n−1,m) + C(n−1,m−1)
递推
二项式系数
(a+b)ⁿ = Σ C(n,k) aⁿ⁻ᵏ bᵏ
二项式
排列与组合关系
A(n,m) = C(n,m) × m!
关系

🧮 排列组合数值示例(常用)

A(6,2) 6×5=30
A(7,3) 7×6×5=210
C(8,3) 56
C(10,5) 252
* 所有数值均基于阶乘公式计算
计算示例

📖 详细版块内容介绍

🔹 排列数深入

全排列 n!,选排列 A(n,m),可重复排列 nᵐ,循环排列 (n-1)! 等场景。

排列深入
🔸 组合数拓展

多重集合组合,隔板法,组合恒等式,与二项式定理的紧密联系。

组合拓展
📊 概率应用

古典概型、超几何分布、彩票概率、抽样问题均依赖排列组合。

概率应用
🧠 算法与编程

回溯生成排列/组合,动态规划求组合数,LeetCode 经典题目。

算法编程

❓ 排列组合常见问题与解答

① 什么时候用排列,什么时候用组合?

解答: 如果问题中元素的顺序影响结果(如排队、密码、名次),用排列 A;如果顺序无关(如选委员、选数字、抓球),用组合 C。记忆口诀:“有序排列,无序组合”。

② 0! 为什么等于 1?

解答: 数学上定义空集的排列方式为1,且为了保证组合公式 C(n,0)=1 以及递推关系成立,规定 0! = 1。

③ 如何快速计算 C(n,m) 较大数值?

解答: 使用递推 C(n,m)=C(n-1,m)+C(n-1,m-1) 构建杨辉三角;或使用乘法公式约分:C(10,4) = (10×9×8×7)/(4×3×2×1)=210。

④ 排列组合公式可以推广到重复元素吗?

解答: 可以。重复排列 nᵐ;重复组合 C(n+m-1,m)(隔板法)。多重集排列需除以重复因子。

⑤ 为什么 A(n,m) 比 C(n,m) 大?

解答: 因为同一组元素,排列考虑顺序会产生 m! 种不同排列,所以 A(n,m) = C(n,m) × m!,因此 A(n,m) ≥ C(n,m),当 m=0或1时相等。

🎯 排列组合学习路径
基础公式 → 性质 → 经典题型 → 概率统计 → 算法实现
学习路径图