跳到主要内容
数学

排列与组合计算器

从 n 个元素中选取 r 个,看看有多少种取法——区分有序(排列)与无序(组合),含可重复与不可重复两种情形——并附阶乘演算过程和杨辉三角。

计算器

组合数 nCr
10
从 5 个中选取 3 个。
排列数 nPr(有序)
60
可重复排列(nʳ)
125
可重复组合
35

演算过程

nPr = n! / (n − r)! = 5! / 2! = 60

nCr = n! / (r!·(n − r)!) = 10

杨辉三角(第 n 行 = 5)

这是一份参考与规划工具——在据此行动前,请核实重要的日期、数字和官方要求。

关于此计算器

本计算器一次性求出全部四个经典计数值:有序不重复选取(nPr)、无序不重复选取(nCr)、有序可重复选取(nʳ),以及无序可重复选取。输入总体大小 n 和样本大小 r,即可立即看到每个计数值。

如何解读你的结果

主要数字是 nCr——即当顺序无关时,从 n 个中选取 r 个的方法数。在它下方你还能看到 nPr(顺序有关、不重复)、nʳ(顺序有关、允许重复),以及可重复组合的计数。逐步拆解展示 nPr 和 nCr 的阶乘展开,而帕斯卡三角面板会精确标出你的 nCr 值所处的位置。

计算方法

不重复排列使用 nPr = n! / (n − r)!,以乘积 n × (n−1) × … × (n−r+1) 的方式逐项计算以避免溢出。不重复组合使用 nCr = n! / (r!(n−r)!),用对称的乘法公式 ∏(n−k+i)/i(i = 1..k,其中 k = min(r, n−r))计算。有序可重复就是 nʳ。无序可重复则套用多重集公式 C(n+r−1, r),同样以乘法方式计算。

实例演示

从 5 个项目中选取 3 个(例如,从 5 种配料的菜单中选 3 种)。

nPr = 60 种有序排列;nCr = 10 种无序选取;可重复时:有序 125 种,无序 35 种。

常见问题

排列和组合有什么区别?

排列计数的是顺序有关的排列方式——ABC 和 BAC 是两个不同的结果。组合计数的是顺序无关的选取方式——ABC 和 BAC 是同一个结果。在实际中,排名、排序或序列用排列,委员会、团队或子集用组合。

我应该在什么时候使用「可重复」的变体?

当一个项目可以被多次选取时使用可重复计数——例如,为密码挑选数字,或在同一种口味可出现多次的情况下选择口味。公式 nʳ 涵盖有序的可重复选取;C(n+r−1, r) 涵盖无序的可重复选取。

计算器为什么把 n 限制在 170?

170 是其阶乘仍能装进 64 位浮点数的最大整数(170! ≈ 7.3 × 10³⁰⁶)。超过它,JavaScript 的 Number 类型就会溢出为 Infinity。计算器使用乘法公式而非计算完整的阶乘,因此结果在 JavaScript 的安全整数上限范围内都是准确的。

资料来源

由 YouCalc 团队审核 · 最近审核

发现翻译问题、计算问题或有任何建议?欢迎告诉我们。

更多同类计算器,挑选下一个。