nPr、nCr、n!、n^r、可重复组合:BigInt 精确结果 + 公式 + 代入步骤,浏览器本地
- 本地处理
- 分类 计算度量
- 适合 买东西、做计划、训练或排期前,先算出大概范围。
输入 n(物品总数)和 r(取几个)。五种计数全部用 BigInt 精确计算,即使 100! 也每一位数字都对,不是四舍五入的近似值。
这个工具能做什么
一个排列组合计算器,输入 n(物品总数)和 r(取出个数)两个值, 一次性给出五种计数:排列 P(n, r)、组合 C(n, r)、阶乘 n!、可重复 排列 n^r、可重复组合 C(n + r − 1, r),结果即时刷新。
这个工具靠得住的地方在于精度。多数在线排列计算器用 64 位浮点做 运算,阶乘一旦超过 21! 就会悄悄丢精度(21! 已经超过 JavaScript 的安全整数上限 2^53 − 1)。本工具全程用 BigInt 计算,所以 100! 会返回全部 158 位正确数字,C(52, 5) 也是精确的 2,598,960 种扑克 牌型,绝不是四舍五入的近似值。每一行都会同时显示符号公式 (P = n! / (n − r)!、C = n! / (r!(n − r)!))和代入后的演算过程, 你可以把完整的逐步推导直接复制进作业或文档。每一行都有一键复制, 还有"复制全部"按钮,内置示例(彩票 49 选 6、3 位 PIN、名次排序、 洗一副 52 张牌),以及当 r > n、输入为负或非整数时清晰的中文错误 提示。所有运算都在你的浏览器里完成,不上传、不记录。
工具细节
- 输入
- 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制 + 预览
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 10 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 计算度量 · 学生
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
排列组合计算器 适合怎么用
适合快速估算、对比和规划数字,帮你在做最终决定前先有底。
适合计算任务
- 买东西、做计划、训练或排期前,先算出大概范围。
- 一次只改一个输入,对比不同方案。
- 把模糊假设变成能讨论的数字。
计算检查项
- 认真核对单位、日期、比例和取整方式。
- 健康、金融、税务、法律相关结果只能做规划参考,不能替代专业意见。
- 重要结果要保存输入条件,方便以后复算。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
买彩票前先算清中奖概率
你想知道 49 选 6 摇号里中全部六个号码的真实概率。输入 n = 49、r = 6,看组合那一行:C(49, 6) = 13,983,816。这是 等可能的投注组合总数,所以单注中头奖的概率是 1 / 13,983,816。步骤:(1) n 设为号码池大小,(2) r 设为 摇出的号码个数,(3) 读 C(n, r),彩票不讲顺序,所以是 组合不是排列。之后用 percentage-calculator 把 1 / 13,983,816 换算成百分比写进文章。
估算密码或 PIN 的空间大小
安全评审问"如果每个字符是 95 个可打印 ASCII 符号之一, 8 位密码有多少种?"。这是可重复排列,因为每一位独立、 字符可重复。输入 n = 95、r = 8,读 n^r = 95^8 ≈ 6.6 × 10^15。步骤:(1) n 是字符集大小,(2) r 是长度, (3) 读 n^r 那一行。再拿 6 位纯数字 PIN(n = 10、r = 6 → 1,000,000)对比,向相关方说明长度和字符集比"复杂度规则" 更重要。
数比赛名次与循环赛对阵
排赛程时你需要 8 名决赛选手里产生第 1、2、3 名的方法数。 讲顺序且不重复,所以是排列:输入 n = 8、r = 3 → P(8, 3) = 336。步骤:(1) n = 选手数,(2) r = 有名次的位置 数,(3) 读 P(n, r)。要统计循环赛里谁对谁,把 r 改成 2, 读 C(8, 2) = 28 种不同对阵。
给学生讲清排列组合并对作业答案
数学老师布置"5 本书在书架上有多少种排法,又有多少个 3 本子集?"。输入 n = 5、r = 3:P(5, 3) = 60 种排法、 C(5, 3) = 10 个子集,n! = 120 是整架的排法。步骤: (1) 读 n! 看全部排列,(2) 读 P(n, r) 看有序子选取, (3) 读 C(n, r) 看无序子选取。每个结果下方的演算步骤行 可直接复制进答案卷,批改时是粘贴而不是重算。
给菜单数冰淇淋球或配料的搭配数
一家店有 6 种口味,允许顾客挑 3 球、可以重复(三球同一 口味也行),且甜筒上的顺序不计。这是可重复组合:输入 n = 6、r = 3,读 C(n + r − 1, r) = C(8, 3) = 56 种不同 甜筒。步骤:(1) n = 可选种类数,(2) r = 挑几个,(3) 当 允许重复但不讲顺序时读 C(n + r − 1, r) 那一行。可用于 菜单文案("56 种搭配你的甜筒")和备货规划。
常见踩坑
该用组合却用了排列。把彩票头奖概率写成 P(49, 6) 会得到 10,068,347,520,这等于把 1-2-3-4-5-6 和 6-5-4-3-2-1 当成不同结果,而彩票并不区分顺序。彩票是无序的,正确的计数是 C(49, 6) = 13,983,816。问自己"重排我选的这些会不会产生真正不同的结果?"。如果不会,就用 C。
忘了"允许重复"会改变用哪个公式。4 位 PIN 不是 P(10, 4) = 5040,而是 10^4 = 10000,因为数字可以重复。P(n, r) 和 C(n, r) 都假设每个物品最多用一次。如果你的实际问题允许同一物品再次被选,你需要的是 n^r 或 C(n + r − 1, r) 那两行。
别信用普通浮点算大阶乘的计算器。很多工具把 25! 显示成 "1.5511210043331e25" 或把末几位四舍五入,这是有损的。如果你在算密码学、组合证明或概率分母里的精确计数,近似阶乘会悄悄毁掉答案。本工具用 BigInt 算出的 25! 是精确的 15,511,210,043,330,985,984,000,000。
隐私说明
每一种计数(阶乘、nPr、nCr、n^r、可重复组合系数)都是在你的 浏览器标签页里用纯 BigInt 运算完成的。n、r 和任何结果都不会发到 服务器,我们也不记录你算过什么。唯一会离开页面的是可分享 URL: 当前的 n 和 r 会写进查询字符串(例如 ?n=49&r=6),这样"分享这次 计算"的链接能为收件人复现结果。它们只是两个没有个人含义的整数, 分享是安全的;但万一你的 n、r 涉及敏感信息,请复制结果文本而不要 分享 URL。一个很小的偏好(你最后复制的是哪一行)存在浏览器的 localStorage 里,绝不外传。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。