排列组合怎么算:P(n,r) 与 C(n,r) 的区别、公式与实战
讲清排列和组合的根本区别在于顺序,给出 P(n,r) 与 C(n,r) 的阶乘公式,并用抽奖、密码空间、彩票概率三个真实场景演示怎么选对公式、读对结果。
排列组合怎么算:P(n,r) 与 C(n,r) 的区别、公式与实战
很多人把排列和组合混着用,算出来的数字差好几个数量级却没察觉。它们的分界线只有一个词:顺序。讲顺序的叫排列,不讲顺序的叫组合。把这一点想清楚,后面的公式和场景都顺了。
一句话区分:顺序算不算数
排列数 P(n, r) 数的是讲顺序的排法。领奖台上的金银铜、密码里字符的先后,换个次序就是另一种结果。组合数 C(n, r) 数的是不讲顺序的选法。彩票摇出的六个号码,你从小到大写还是按摇出顺序写,都是同一组。
判断方法很简单:问自己"把我选的这几个重新排一下,会不会产生真正不同的结果?"。如果会,用排列;如果不会,用组合。这也解释了为什么 P(n, r) 永远大于等于 C(n, r),因为每一个 r 元素的组合都能排出 r! 种不同顺序。
公式:都建立在阶乘上
阶乘 n! 表示把 n 个不同物品全部排成一列的方法数,等于 n × (n − 1) × … × 2 × 1。排列和组合都从它推出来:
- 排列:P(n, r) = n! / (n − r)!
- 组合:C(n, r) = n! / (r! × (n − r)!)
两个公式只差一个 r!。排列在分母里少除了一个 r!,正是因为它要把同一组元素的 r! 种顺序都算成不同结果。它们的关系也可以直接写成 P(n, r) = C(n, r) × r!。
还有两种"允许重复"的计数。当每次选取独立、可以重复且讲顺序时,用 n^r;当可以重复但不讲顺序时,用 C(n + r − 1, r),也就是隔板法。
一个具体例子:n=5、r=2
把数字代进去最直观。取 n = 5、r = 2:
组合 C(5, 2) = 5! / (2! × 3!) = 120 / (2 × 6) = 10。意思是从 5 个里选 2 个,不分先后,有 10 种选法。
排列 P(5, 2) = 5! / 3! = 120 / 6 = 20。同样是从 5 个里取 2 个,但这次先后算数,所以是 10 × 2! = 20 种。
两个数刚好差一个 2! = 2,这就是顺序带来的倍数。我自己第一次给学生讲这块时,就是让他们把 5 个字母 A B C D E 真的两两写出来:无序写出来 10 对,再把每对调个个,凑成 20 个有序对,亲手数一遍比背公式记得牢。
实战一:抽奖与彩票概率
49 选 6 的彩票,中全部六个号码的概率怎么算?号码不讲顺序,所以用组合:C(49, 6) = 13,983,816。这是等可能的投注总数,单注中头奖就是 1 / 13,983,816。
这里最常踩的坑是误用排列。如果写成 P(49, 6),会得到 10,068,347,520,等于把 1-2-3-4-5-6 和 6-5-4-3-2-1 当成两种结果,而彩票根本不区分顺序,答案就偏大了 720 倍(也就是 6!)。算完概率想换成百分比写进文章,可以接着用 percentage-calculator 把 1 / 13,983,816 转成小数。
实战二:密码与 PIN 的空间大小
安全评审常问"8 位密码,每位是 95 个可打印字符之一,共多少种?"。每一位独立、字符可重复、且顺序算数,这是可重复排列,用 n^r:95^8 ≈ 6.6 × 10^15。
注意 4 位 PIN 不是 P(10, 4) = 5040,而是 10^4 = 10000,因为数字允许重复出现。P(n, r) 和 C(n, r) 都默认每个物品最多用一次,一旦实际问题允许重复,就得换到 n^r 或 C(n + r − 1, r)。
注意精度:大阶乘别用浮点
还有个隐蔽问题:阶乘涨得极快。21! = 51,090,942,171,709,440,000 就已经超过 JavaScript 的安全整数上限 2^53 − 1(约 9.0 × 10^15)。很多在线计算器用 64 位浮点,从 n = 21 起就开始返回细微错误的末位数字。算密码学、组合证明或概率分母时,这种近似会悄悄毁掉答案。
Toolora 的 排列组合计算器 全程用 BigInt 运算,没有固定位数限制,100! 会返回全部 158 位正确数字。输入 n 和 r 就一次性给出 P(n, r)、C(n, r)、n!、n^r 和可重复组合五种结果,每行还附公式和代入步骤,适合抄进作业或文档。想进一步做整体的统计分析,可以再去 statistics-basic-calculator 算均值方差。
小结
记住一条:换个顺序会不会变成新结果。会,就是排列 P(n, r);不会,就是组合 C(n, r);允许重复再切到 n^r 或 C(n + r − 1, r)。三种场景里,抽奖彩票看组合,密码空间看可重复排列,名次排序看排列,选对公式比算得快重要得多。
Made by Toolora · Updated 2026-06-13