排列组合计算器
排列、组合与阶乘计算
排列组合怎么算?nPr、nCr 与阶乘的区别
排列数、组合数与阶乘是组合数学的基础,区别只在是否关心顺序,本工具同时给出公式展开与计算过程。
本工具用标签切换三种计算方式,输入 n 与 r 后同时给出结果与计算过程。过程里会展开连乘或连除的算式,方便与课本公式对照。所有计算在浏览器本地完成,输入内容不会上传服务器。
排列数和组合数的区别是什么?
排列关心顺序,组合不关心顺序。10 个人里选出 3 个人排队,顺序不同算不同方案,是排列,共有 720 种;10 个人里选出 3 个人组成小组,顺序无关,是组合,共有 120 种。两者相差的倍数正是这 3 个人的全排列数 3 的阶乘等于 6。
nPr 的计算过程是怎么展开的?
排列数等于从 n 开始连续乘 r 个数。10 取 3 的排列展开为 10 × 9 × 8 等于 720,也可以写成 10 的阶乘除以 7 的阶乘。因为阶乘的商里公共部分会被约掉,所以实际只需要乘 r 个数,这也是工具采用连乘而不是先算两个大阶乘再相除的原因。
nCr 的计算过程是怎么展开的?
组合数等于排列数再除以 r 的阶乘。10 取 3 的组合展开为 10 × 9 × 8 除以 3 × 2 × 1,结果 120。计算时先约掉分子分母的公共因子再相乘,可以让中间结果小很多,C(100,50) 这种大数值也能快速算出。
阶乘有什么特殊情况?
0 的阶乘规定为 1,这不是随手定义,而是为了让组合公式在 r 等于 0 与 r 等于 n 时同样成立。阶乘增长极快,20 的阶乘已经超过 2 的 60 次方,因此工具用大整数运算避免精度丢失,同时把 n 的上限设为 1000,超过时会给出提示。
结果太大读不出来怎么办?
结果会按三位一组加千位分隔符,例如 C(100,50) 是 30 位整数,会按三位一组分组显示;超过 10 位的整数还会额外标注位数(100! 显示「位数: 158」),便于一眼判断量级。复制按钮复制的是不带分隔符的纯数字,可以直接粘贴进程序或表格参与后续计算,不会因为逗号被当成文本。
这些计算用在哪些场景?
常见场景包括抽奖号码的组合数、密码与验证码的可能数量、比赛对阵与排班方案数、抽样检测的组合计数等。需要统计一组数据的平均数与中位数时可以使用平均数计算器,需要计算占比与百分比时可以使用百分比计算器。
排列和组合有什么区别?nPr 与 nCr 公式怎么用
- 排列数 nPr 等于 n 的阶乘除以 n 减 r 的阶乘,10 个里取 3 个排列共有 720 种,过程显示为 10 × 9 × 8
- 组合数 nCr 等于 n 的阶乘除以 r 的阶乘再除以 n 减 r 的阶乘,10 个里取 3 个组合共有 120 种
- 阶乘 n! 从 1 连乘到 n,规定 0! 等于 1,因此 5! 等于 120
- 使用大整数精确运算,C(100,50) 这类 30 位的结果也不会出现末位偏差
- n 支持 0 到 1000 的整数,r 不能大于 n,超出范围会给出明确提示
- 全部计算在浏览器本地完成,输入内容不会上传服务器,结果可一键复制