排列与组合计算器 (nPr / nCr)
指导
排列与组合计算器
使用BigInt算术计算排列(nPr)和组合(nCr),结果精确无溢出,即使对于大数值也适用。输入n和r,即可同时获得两个值,并附带逐步公式推导。包含帕斯卡三角形可视化工具、多重集合排列计算器以及小集合的所有排列的完整枚举。
如何使用
输入n(总项目数)和r(选择的项目数),计算器将立即显示P(n,r)和C(n,r)及其公式和逐步代入过程。对于较小的n和r(最多8),可切换枚举功能,查看所有实际的排列或组合列表。使用帕斯卡三角形标签,可可视化最多第20行的二项式系数,并高亮显示您的C(n,r)值。多重集合标签用于处理包含重复元素的排列。
特征
- nPr & nCr — 从单一输入同时计算排列和组合
- BigInt算术 — 大数值(n=100+)的精确结果,无溢出或舍入错误
- 逐步公式 — 查看公式中实际数值的代入:P(n,r) = n!/(n-r)! 和 C(n,r) = n!/(r!×(n-r)!)
- 帕斯卡三角形 — 交互式可视化工具,显示从第0行到第n行(最多20行),并高亮您的结果
- 完整枚举 — 列出小集合(n,r ≤ 8)的所有实际排列或组合
- 多重集合排列 — 计算包含重复元素的排列:n!/(n1!×n2!×…)
- 阶乘显示 — 显示n!、r!和(n-r)!的值
- 复制结果 – 将所有计算值复制到剪贴板
常问问题
-
排列和组合有什么区别?
排列计算顺序重要的排列数量。组合计算不考虑顺序的选择数量。例如,从ABC中选择3个字母:排列包括ABC、ACB、BAC、BCA、CAB、CBA(共6种排列),而组合则仅是一个集合{A,B,C}。排列公式P(n,r) = n!/(n-r)!的结果大于组合公式C(n,r) = n!/(r!(n-r)!)的结果,因为排列分别计算每一种顺序。在需要排序、序列或编码的场景中使用排列;在组建团队、小组或选择时使用组合。
-
为什么这个计算器使用BigInt而不是普通数字?
JavaScript中的普通数字在超过2^53(约9万亿)时会失去精度。阶乘增长极快:20!已超过2.4万亿,100!有158位数字。普通的浮点数运算在任何中等规模的计算中都会导致舍入或错误结果。BigInt提供精确的整数运算,没有上限,确保结果的每一位都正确。这在需要精确计数的概率、统计或组合分析中至关重要。
-
什么是帕斯卡三角形,它与组合有什么关系?
帕斯卡三角形是一个三角形数组,其中每个数字是其上方两个数字的和。第n行包含所有C(n,r)的值,其中r从0到n。例如,第4行是1, 4, 6, 4, 1,对应C(4,0)到C(4,4)。该三角形揭示了二项式系数的规律,并在概率、代数和数论中有广泛应用。每一行也给出了展开(a+b)^n时的系数。本计算器可视化帕斯卡三角形,并高亮显示您特定的C(n,r)值。
-
什么是多重集合排列?
多重集合排列计算包含重复元素的集合的唯一排列数量。公式为n!/(n1! × n2! × ... × nk!),其中n是项目总数,n1、n2等是每个重复元素的出现次数。例如,单词MISSISSIPPI有11个字母,M出现1次,I出现4次,S出现4次,P出现2次。不同的排列数量为11!/(1! × 4! × 4! × 2!) = 34,650。如果不考虑重复,就会错误地重复计算相同的排列。
