牌
CardLab
扑克与纸牌工具集
首页
概率

组合数与排列数计算器(52 张牌抽牌概率)

很多牌桌问题的第一步是数清楚「一共能发生多少种情况」:52 张牌里摸 5 张到底有多少种组合、抽到某一手指定牌的概率是多大、几组牌平均分配有多少种分法。这些数字决定了你该不该追一次听牌、该不该用「我还有几张牌能补到它」来估算胜率。本工具把组合数、排列数、重复选取与多项分配放在同一页计算,并默认带上扑克场景的常用基准:2,598,960 种五张组合、同花 5,148 种、一对占 42.257%,算是核对答案的尺子。

如一副扑克 52 张、点数 13 个、骰子 6 面
从 n 个里取出 k 个
结果

怎么用

STEP 1

先选模式:数「从 n 个里选 k 个有多少种」用组合 C(n,k);数「先后顺序也算不同」切到排列 A(n,k);要直接看扑克牌场景就选扑克抽牌。

STEP 2

填入 n 与 k:n 是可选元素总数(一副牌 52 张、点数 13 个、骰子 6 面),k 是一次拿几个。可拿的东西固定,n 就固定。

STEP 3

决定是否允许重复:允许重复时组合数变成 C(n+k-1,k)。例如 5 个人从 4 种口味里各取一杯(可以撞口味),共 C(8,5)=56 种。

STEP 4

读结果:上方大字是最终数量,下面「展开过程」能逐项看到分母被哪一项约掉;位数很大时会额外给出科学计数法写法。

易错:三类高频错法

  • 组合与排列混用是最常见的错:A(52,5)=311,875,200 是 C(52,5)=2,598,960 的 120 倍,差的就是 5!=120 个顺序。结果正好差 120 倍,基本可以断定顺序被算进去了。
  • 抽到的「一手牌」不是 5 张有序牌。同样的 5 张牌有 120 种排列,但只算 1 种组合。算概率用组合,算发牌顺序或洗牌排列才用排列。
  • 大数直接连乘会溢出双精度。C(60,30)=118,264,581,564,861,424 已经超过 2^53,必须先约分再连乘,否则末几位会被静默改掉而看不出报错。
  • 多项分配里的「组」是有区别的。把 52 张牌平均分给 4 个有标号的组,和分给 4 个无标号的抽屉,方案数不同:前者只除以各组内部的排列数,后者还要再除以 4!。

52 选 5 为什么是 2,598,960

一副标准扑克有 52 张互不相同的牌,一次摸 5 张,如果只看「拿到的是哪几张」而不看先后顺序,能组成的不同组合一共 2,598,960 种。这个数字是几乎所有扑克概率计算的分母:任何「某类牌型出现了没有」的判断,都等于该牌型的组合数除以它。

  • 一对有 1,098,240 种,占 42.257%——接近一半的五张组合里至少带一对。
  • 同花只有 5,148 种,占 0.198%;顺子 10,240 种,占 0.394%;两者合计不到 0.6%,所以靠听牌撞顺同花的期待要按千分之几来算。
  • 四条 624 种、同花顺 40 种、皇家同花顺 4 种,越稀有的牌型要求的赔率越高,这也是牌桌上不追超稀有牌型的数学理由。

先除后乘:大数不失真的算法

浏览器里的数字是双精度浮点,能精确表示的整数上限是 2^53 ≈ 9.007×10^15。C(60,30)=118,264,581,564,861,424 已经越界,如果直接按 60×59×…×31 ÷ (1×2×…×30) 连乘,最后几位会被浮点尾数悄悄改掉,而且不会报错。

  • 本页的做法是先除后乘:用最大公因数把分子与分母逐项约掉,再连乘剩下的因子。
  • 约分之后参与连乘的每个因子都是整数,相乘得到精确的十进制结果,不依赖浮点尾数。
  • 结果超过 15 位时额外给科学计数法,同时保留完整十进制串,方便你复制去和别处核对。

三个最常被问到的组合概率

掌握 2,598,960 这个分母之后,日常问题都能用同一套算法回答,区别只在于分子的组合数怎么数。

  • 抽到某一手指定的 5 张牌:概率是 1 / 2,598,960 ≈ 0.0000385%,等价于平均每 260 万次发牌才出现一次。
  • 两张指定牌同时在手里:C(50,3) ÷ C(52,5) = 19,600 ÷ 2,598,960 ≈ 0.754%。
  • 同花是 4 × C(13,5) = 5,148 种,约 0.198%;顺子是 10 个连牌序列 × 4^5 = 10,240 种,约 0.394%。
  • 五张牌完全没重复点数、也不成顺不成花的组合有 1,302,456 种,占 50.118%,这是「高牌」这一档的真正体积。

常见问题

组合数和排列数到底差在哪里,用错了会有什么后果?
组合 C(n,k) 只关心选出了哪几个,排列 A(n,k) 还关心先抽哪张后抽哪张,两者关系是 A(n,k)=C(n,k)×k!。例:52 选 5 的组合数是 2,598,960,排列数是 311,875,200,正好差 5!=120 倍。算发牌结果、算抽到某手牌的概率必须用组合;算「按什么顺序发牌」才用排列。两条数正好差 120 倍,通常就是公式用错的信号。
「允许重复」的时候公式怎么变?
每个元素都能被重复选取时,组合数变成 C(n+k-1,k),也就是把 n+k-1 看成整体再选 k。例如 5 个人从 4 种口味里各拿一杯、允许撞口味,共有 C(8,5)=56 种,而不是 C(4,5)=0。这种「隔板法」在分蛋糕、分牌、分组时很常见,记住 n+k-1 选 k 就不会漏掉。
为什么抽到某手指定牌的概率是 1/2,598,960?
因为 5 张牌的组合空间一共 2,598,960 种,指定的那一手只是其中一种,所以概率是 1 除以总数,约 0.0000385%,相当于平均每 260 万次发牌出现一次。换成一个牌型时,分子换成该牌型的组合数即可,例如同花 5,148 种,概率就是 5,148 ÷ 2,598,960 ≈ 0.198%。
多项分配里的「组」是有区别的吗?
是有区别的。把 52 张牌平均分给 4 个有标签的组,与分给 4 个没有标签的抽屉,方案数不同:前者是 52! ÷ (13!)^4,后者还要再除以 4!。本页的多项分配按有区别的组计算,公式是 n! ÷ (m!)^k(m = n ÷ k);当 n 不能被 k 整除时,改用 C(n-1,k-1) 给出把 n 拆成 k 个正整数的有序拆分数。
结果特别大的时候会算错吗?
不会。本页在连乘前用最大公因数逐项约分,最后用十进制大整数相乘,输出的是精确整数而不是近似浮点数。例如 C(60,30)=118,264,581,564,861,424 能被正确给出,因为 2^53 以上的部分不再靠浮点尾数承载。超过 15 位时页面同时给出科学计数法,需要核对位数时用完整十进制串。

边界说明

  • 本页给出的是数学意义上的精确整数;概率一律显示为近似小数并标注了保留位数。
  • 扑克抽牌模式固定使用 52 张标准牌堆与 5 张成牌,你填写的 n、k 会在同页另行计算。
  • 牌型组合数按标准 5 张成牌统计,花色不影响牌型判定,所以同花只按 4 × C(13,5) 计一次。
  • 本工具只做组合计数与概率换算,不涉及任何投注策略或金额建议。