错位排列计算器
计算错位排列 !n,即没有任何元素留在原位的排列数,附子阶乘公式、交换礼物抽签的概率,以及恰有 k 个留在原位的排法。
!n = (n − 1) × (!(n − 1) + !(n − 2)),其中 !0 = 1,!1 = 0。
随着 n 增大,错位排列所占的比例趋近于 1/e ≈ 36.79%。
| 留在原位的个数 | 排法数 | 概率 |
|---|---|---|
| 0 | 14,833 | 36.79% |
| 1 | 14,832 | 36.79% |
| 2 | 7,420 | 18.4% |
| 3 | 2,464 | 6.11% |
| 4 | 630 | 1.56% |
| 5 | 112 | 0.28% |
| 6 | 28 | 0.07% |
| 7 | 0 | 0% |
| 8 | 1 | 0% |
错位排列是指重新排列后,没有任何元素回到原来位置的排列,经典例子是寄存帽子问题,或没有人抽到自己名字的抽签送礼。本计算器给出错位排列数 !n、随机打乱后恰好是错位排列的概率,以及“有多少元素留在原位”的完整分布。
使用方法
- 输入元素个数:人、信件、帽子或座位。
- “留在原位的个数”保持为 0 即为错位排列;输入 k 则统计恰好有 k 个元素在原位的排法数。
- 查看个数和概率;表格列出了所有可能的不动点个数。
计算公式
!n = n! × Σ (−1)ᵏ / k! for k = 0 … n !n = (n − 1) × (!(n − 1) + !(n − 2)), with !0 = 1 and !1 = 0
第一个公式来自对留在原位的元素用容斥原理。对 n ≥ 1,!n 也等于 n!/e 四舍五入到最近的整数。恰有 k 个不动点的排法数(雷蒙特数)为 C(n, k) × !(n − k):先选出留在原位的 k 个,再把其余元素做错位排列。
示例
4 个人交换礼物:分发方式共有 4! = 24 种,没有人拿到自己礼物的有 !4 = 3 × (!3 + !2) = 3 × (2 + 1) = 9 种,所以概率为 9/24 = 37.5%。恰好一个人拿到自己礼物的有 C(4, 1) × !3 = 4 × 2 = 8 种。对于 8 个人,40,320 种顺序中有 !8 = 14,833 种,约为 36.79%。
常见问题
抽签送礼时,没有人抽到自己的概率是多少?
只要有 5 人或更多,不论多少人都约为 36.7%–36.8%,因为 !n / n! 很快就趋近于 1/e ≈ 0.3679。大约每三次抽签中有两次至少有一个人抽到自己,需要重抽。
!0 等于多少?
按约定 !0 = 1:什么都不排恰好有一种方式,而且没有任何东西留在原位。这样递推公式与雷蒙特数公式才一致。
错位排列和排列有什么不同?
排列是任意顺序,共 n! 种;错位排列是没有不动点的排列,因此总是更少,大约占全部排列的 37%。
错位排列数与子阶乘是一回事吗?
是的。!n 称为 n 的子阶乘,这两个名称可以互换使用。
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/derangement-calculator/
引用此工具
kakaoCalc. (2026, November 8). 错位排列计算器. https://kakao.mobile/zh/tools/derangement-calculator/
“错位排列计算器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/derangement-calculator/.