排列组合 Cn 与 An 公式

组合数 C(n,m) 与 排列数 A(n,m) 核心区别 · 公式推导 · 经典例题

组合 Cn: 无序 排列 An: 有序 阶乘 n!
🧮

组合数公式 Cnm

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

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

也记作 CnmₙCₘ

组合数公式示意图
📊

排列数公式 Anm

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

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

也记作 AnmP(n,m)

排列数公式示意图

🔍 公式深度解读

📌

组合数 Cn (Combination)

定义:从 n 个不同元素中,任取 m (m≤n) 个元素并成一组,叫做组合。所有组合的个数记作 C(n,m) 或 Cnm

公式:C(n,m) = n! / [ m! (n−m)! ]

性质:C(n,m) = C(n, n−m) ;C(n,0)=C(n,n)=1

C(5,2) = 5!/(2!·3!) = 10
📌

排列数 An (Permutation)

定义:从 n 个不同元素中,任取 m (m≤n) 个元素按照一定的顺序排成一列,叫做排列。所有排列的个数记作 A(n,m) 或 Anm

公式:A(n,m) = n! / (n−m)!

性质:A(n,n)=n! ;A(n,0)=1

A(5,2) = 5!/(3!) = 20
对比组合 (Cn)排列 (An)
顺序无序 (不区分顺序)有序 (区分顺序)
公式C(n,m)=n!/(m!(n−m)!)A(n,m)=n!/(n−m)!
关系A(n,m) = C(n,m) × m!
典型场景选委员、抽奖组合密码排序、接力顺序
排列组合对比示意图

❓ 常见问题与解答

Q1 什么时候用组合 (Cn) 什么时候用排列 (An)?

A:关键看是否“考虑顺序”。如果元素顺序改变导致不同结果(如密码、名次),用排列 A;如果顺序无关(如选小组成员、彩票号码),用组合 C。

Q2 组合数公式 C(n,m) 为什么除以 m! ?

A:因为排列数 A(n,m) 已经包含顺序,而组合不计顺序。每一种组合对应 m! 种排列,所以组合数 = 排列数 / m! ,即 C(n,m) = A(n,m)/m! = n!/(m!(n−m)!)。

Q3 如何快速计算 C(10,3) 或 A(10,3)?

A:C(10,3)= (10×9×8)/(3×2×1)=120;A(10,3)=10×9×8=720。记忆技巧:排列从 n 开始往下乘 m 个数,组合再除以 m 的阶乘。

Q4 组合数有哪些重要性质?

A:① 对称性 C(n,m)=C(n,n−m);② 递推公式 C(n,m)=C(n−1,m)+C(n−1,m−1);③ 二项式定理系数。

Q5 排列组合在算法中有什么用?

A:用于全排列、组合搜索、密码学、概率计算、动态规划(如背包组合)、数据采样等场景。公式可优化递归枚举。

🧠 记忆技巧

  • 排列 An:A(n,m) = n·(n−1)·…·(n−m+1) (m 个因子)
  • 组合 Cn:C(n,m) = A(n,m) / m! (去除顺序)
  • ✔ 当 m=0 或 m=n 时,C(n,m)=1
  • ✔ 利用杨辉三角快速计算小规模组合数
记忆技巧图

📚 实际应用场景

  • 🔹 彩票概率 (组合)
  • 🔹 赛事日程 (排列)
  • 🔹 密码组合计数
  • 🔹 生物信息 DNA 序列
  • 🔹 算法中的全排列与子集
应用场景图

📖 核心公式速览

组合 C(n,m) = n! / (m!(n−m)!)    |    排列 A(n,m) = n! / (n−m)!

关系:A(n,m) = C(n,m) × m!  ·  C(n,m)=C(n,n−m)

排列组合核心