排列计算器 · 在线排列组合计算器|阶乘与组合数工具

快速计算排列数 P(n,k) 和组合数 C(n,k),支持阶乘运算。输入总数和选择数,一键获取排列与组合结果,适用于数学学习、概率统计等场景。

计算结果 · 排列组合分析

👈 请输入总数和选择数后点击计算

支持大数阶乘,自动计算排列与组合结果

📐 排列组合计算原理与公式

一、什么是排列(Permutation)?

排列是指从 n 个不同元素中取出 k 个元素,按照一定的顺序排成一列。排列关注元素的顺序,不同的顺序视为不同的排列。排列数记为 P(n,k) 或 A(n,k),计算公式为 P(n,k) = n! / (n-k)!,其中 n! 表示 n 的阶乘,即从 1 到 n 所有正整数的乘积。

排列公式:P(n,k) = n! / (n-k)!
举例说明:从 5 个不同的球中取出 3 个排成一列,排列数 P(5,3) = 5! / 2! = 120 / 2 = 60 种不同的排列方式。如果 5 个人站队拍照,选出 3 个人站成一排,有 60 种站法。

二、什么是组合(Combination)?

组合是指从 n 个不同元素中取出 k 个元素,不考虑顺序地组成一组。组合不关注元素的排列顺序,只关注选取了哪些元素。组合数记为 C(n,k),计算公式为 C(n,k) = n! / (k! × (n-k)!) = P(n,k) / k!。

组合公式:C(n,k) = n! / (k! × (n-k)!)
举例说明:从 5 个不同的球中取出 3 个(不排序),组合数 C(5,3) = 5! / (3! × 2!) = 120 / (6 × 2) = 10 种不同的组合方式。从 52 张扑克牌中抽 5 张,组合数 C(52,5) = 2,598,960 种。

三、排列与组合的核心区别

排列考虑顺序,组合不考虑顺序。例如从 A、B、C 三人中选两人,排列有 AB、BA、AC、CA、BC、CB 共 6 种,而组合只有 AB、AC、BC 共 3 种。两者的关系为 P(n,k) = C(n,k) × k!,即排列数等于组合数乘以 k 个元素的全排列数。

四、阶乘(Factorial)的性质

阶乘 n! 表示从 1 到 n 所有正整数的乘积。规定 0! = 1,1! = 1。阶乘增长非常快,10! = 3,628,800,20! 约等于 2.43 × 10¹⁸。本计算器支持 n 最大为 170,因为 171! 已超过 JavaScript 数值上限。

常见阶乘值:5! = 120,6! = 720,7! = 5,040,8! = 40,320,10! = 3,628,800

五、实际应用场景示例

密码组合:一个 4 位数字密码,每位可选 0-9,排列数 P(10,4) = 5040 种可能(不允许重复数字)。

彩票选号:双色球从 33 个红球中选 6 个,组合数 C(33,6) = 1,107,568 种组合。

赛事安排:8 支队伍进行单循环赛,比赛场次为 C(8,2) = 28 场。

抽奖概率:从 100 人中抽取 3 名获奖者,可能的抽取组合有 C(100,3) = 161,700 种。

💡 哪些场景会用到排列组合计算器?

数学学习 —— 辅助理解排列组合概念,验证手算结果,提高解题效率。

概率统计 —— 计算样本空间大小,为概率计算提供基础数据。

密码学 —— 评估密码空间大小,分析密码强度和安全策略。

竞赛编程 —— 快速获取排列组合数值,用于算法设计和复杂度估算。

游戏设计 —— 计算卡牌组合数、角色搭配方案等游戏机制设计。

实验设计 —— 在科学实验中计算样本分配方案和对照组设置。

日常决策 —— 计算菜单搭配、着装组合等生活中的排列组合问题。

📖 如何使用本工具?

第一步:输入总数 n —— 在第一个输入框中输入元素总个数,n 必须为正整数且不超过 170。

第二步:输入选择数 k —— 在第二个输入框中输入需要选取的元素个数,k 必须满足 0 ≤ k ≤ n。

第三步:点击计算按钮 —— 点击绿色的计算按钮,右侧会显示详细的计算结果。

第四步:查看结果 —— 右侧会显示阶乘 n!、排列数 P(n,k) 和组合数 C(n,k),以及详细的计算分解步骤。

⚠️ 注意事项与常见问题

n 的取值范围:本工具支持 n 最大为 170,因为 JavaScript 的 Number 类型最大安全整数约为 9 × 10¹⁵,而 171! 的结果已超出可精确表示的范围。对于更大的数值,建议使用专业数学软件。

k 必须 ≤ n:如果选择数大于总数,排列和组合均无意义,工具会提示错误。请确保 k 不超过 n。

0! 的规定:数学中规定 0! = 1,这是为了使组合公式 C(n,0) = 1 和 C(n,n) = 1 成立。当 k=0 时,P(n,0)=1,C(n,0)=1。

整数要求:本工具仅支持整数输入,小数或负数将被视为无效输入。

隐私保护:本工具为纯前端实现,所有计算均在您的浏览器本地完成,不会上传任何数据到服务器。

排列与组合的区别再确认:如果问题中涉及"排队"、"排序"、"排列"等关键词,使用排列 P(n,k);如果问题中涉及"选取"、"选择"、"组合"等关键词,使用组合 C(n,k)。