📐 排列组合计算器 H5

快速计算排列数 P(n,m) 与组合数 C(n,m),支持整数大数,附公式详解与常见问题。

🧮 在线计算
计算结果
输入 n 和 m 后点击计算
P(8,3) = 336
排列:顺序有关  |  组合:顺序无关
📖 什么是排列与组合?

排列(Permutation) 是指从 n 个不同元素中,任取 m (m ≤ n) 个元素,按照一定的顺序排成一列。排列关注元素的顺序,顺序不同视为不同的排列。

组合(Combination) 是指从 n 个不同元素中,任取 m (m ≤ n) 个元素并成一组。组合不关注元素的顺序,只要元素相同即为同一组合。

🌰 举例: 从 {A, B, C} 中选 2 个元素。
🔸 排列:AB、BA、AC、CA、BC、CB  → 6 种 (P(3,2)=6)
🔹 组合:AB、AC、BC  → 3 种 (C(3,2)=3)
排列组合示意图
📐 核心公式
P(n, m) = n! / (n − m)!
排列数公式  ·  从 n 个元素中取 m 个排列
C(n, m) = n! / [ m! · (n − m)! ]
组合数公式  ·  从 n 个元素中取 m 个组合

其中 n! 表示 n 的阶乘,即 1×2×3×…×n。规定 0! = 1。 当 m > n 时,排列数和组合数均为 0。

📌 快速记忆:
• 排列 = 先从 n 个中选 m 个,再对 m 个进行全排列 → P(n,m) = C(n,m) × m!
• 组合 = 从 n 个中选 m 个,不排序 → C(n,m) = P(n,m) ÷ m!
排列组合公式图解
🚀 常见应用场景
排列组合应用场景
📋 如何使用本计算器
  1. 输入 元素总数 n(非负整数,建议 ≤ 999)。
  2. 输入 选取个数 m(0 ≤ m ≤ n)。
  3. 选择计算模式:排列 P组合 C
  4. 点击 「= 开始计算」 按钮,即刻显示结果。
  5. 查看下方 公式展示 区,了解对应公式与数值代入。
常见问题解答
🔹 什么是阶乘?0! 为什么等于 1?
阶乘 是指从 1 到该数的所有正整数相乘,记作 n!。例如 5! = 5×4×3×2×1 = 120。
0! = 1 是一种数学约定,使得组合公式在边界情况(m=0 或 m=n)时依然成立,同时也与空集的排列数一致。
🔹 什么时候用排列,什么时候用组合?
核心区别在于 是否考虑顺序
• 如果元素的顺序不同算作不同情况 → 用 排列 (P)。例如:比赛冠亚军、密码排列、拍照位置。
• 如果元素的顺序不同算作相同情况 → 用 组合 (C)。例如:选小组成员、抽奖中奖号码(不考虑顺序)、食材搭配。
🔹 m 可以大于 n 吗?结果是多少?
在标准排列组合中,m 不能大于 n。如果 m > n,则无法从 n 个元素中取出 m 个,此时排列数和组合数均为 0。本计算器在检测到 m > n 时会提示「无意义」并返回 0。
🔹 计算出的数值很大,结果准确吗?
本计算器采用 高精度整数运算(基于 JavaScript 的 BigInt),只要 n 和 m 在合理范围内(建议 n ≤ 999),结果均为精确整数,不会出现浮点误差。对于极大的数(如 n=999, m=500),结果位数可能很长,但依然精确。
🔹 排列数 P(n,m) 和组合数 C(n,m) 有什么关系?
两者核心关系为:
P(n, m) = C(n, m) × m!
即:先组合再全排列。也可以反过来:C(n, m) = P(n, m) / m!
此外还有对称性质:C(n, m) = C(n, n−m),例如 C(8,3) = C(8,5)。
🔹 计算器支持小数或负数吗?
排列组合中的 n 和 m 必须为 非负整数。本计算器输入框已限制为整数类型,如果输入小数或负数,将自动取整或提示无效。建议仅输入正整数进行运算。
排列组合FAQ常见问题