无需登录 数据私有 本地保存

排列数计算器 - 在线P(n,r)组合数学

33
0
0
0

排列数计算器 P(n,r)

在线计算排列数,展示完整推导过程。支持大数精确计算,适合学习组合数学、概率统计与算法设计。

范围:0 ~ 500 的整数
需满足:0 ≤ r ≤ n
输入 n 和 r 后点击计算,查看完整推导过程

常见问题与知识点

排列数 P(n,r)(也写作 A(n,r)nPr)表示从 n 个不同元素中取出 r 个元素,按照一定顺序排列的方法总数。排列强调顺序,即相同的元素以不同顺序排列被视为不同的排列。例如,从 {A,B,C} 中选2个排列,AB 和 BA 是两种不同的排列。

排列数的计算公式为:
P(n,r) = n! / (n-r)!  = n × (n-1) × (n-2) × ... × (n-r+1)

其中 n! 表示 n 的阶乘(n! = n×(n-1)×...×2×1),(n-r)! 在约分时被消去,因此排列数实际上就是 r 个连续递减整数的乘积,从 n 开始乘到 (n-r+1) 为止。

排列 P(n,r):考虑顺序,选出的元素排列顺序不同则算不同结果。
组合 C(n,r)不考虑顺序,只关心选出了哪些元素。

关系:P(n,r) = C(n,r) × r!,即排列数 = 组合数 × 选出元素的内部排列数。
例如从5人中选3人:排列关注谁排第一、第二、第三(60种),组合只关注选哪3人(10种)。

n = r 时,P(n,n) = n! / (n-n)! = n! / 0! = n!(因为 0! = 1)。
这被称为全排列,表示将 n 个元素全部取出并按不同顺序排列的方法数。
例如 P(5,5) = 5! = 120,即5个不同物品有120种排列方式。

0! = 1 是数学中的约定,它在排列数公式中保证了逻辑一致性:
• P(n,0) = n! / n! = 1(从n个元素中选0个排列,只有一种方式——什么都不选)
• P(n,n) = n! / 0! = n! / 1 = n!(全排列公式成立)
从组合数学角度看,空集的排列唯一(空排列),因此 0! 定义为 1 是合理的。

排列数的应用非常广泛:
密码学:计算密码的可能排列数,评估安全性
赛事安排:计算比赛出场顺序、排名可能的种数
调度优化:任务排序、旅行路线规划(TSP问题基础)
概率计算:扑克牌、彩票等场景中的顺序相关概率
算法分析:评估暴力枚举算法的时间复杂度

使用步骤:
1. 在左侧输入 n(总元素数,0~500的整数)
2. 输入 r(选取元素数,需满足 0 ≤ r ≤ n)
3. 点击「计算排列数」按钮,或直接修改输入框自动触发计算
4. 右侧将展示完整的代入、展开、约分过程及最终结果
5. 可点击预设按钮快速体验不同场景
6. 对于大数结果,同时提供科学计数法近似值,方便阅读

本计算器使用 JavaScript BigInt 进行精确整数运算,理论上可处理任意大小的排列数。工具设定了 n ≤ 500 的实用上限(排列数 P(500,250) 已是超过600位的天文数字)。对于超过 25位 的结果,将同时显示完整精确值和科学计数法近似值,方便阅读与比对。