子阶乘 !n,所有元素都不在原位的排列数,BigInt 精确计算,并给出趋近 1/e 的概率,全程浏览器本地
- 本地处理
- 分类 计算度量
- 适合 买东西、做计划、训练或排期前,先算出大概范围。
输入一个非负整数 n。!n(子阶乘)数的是 n 个元素里没有任何一个停在原位的排列数,用 BigInt 精确计算。同时给出阶乘 n! 和概率 !n / n!,即随机打乱后没有元素落回原位的概率 —— 这个值只用几项就锁定在 1/e ≈ 0.3679。
这个工具能做什么
免费错位排列(derangement)计算器,用 BigInt 精确算出子阶乘 !n。错位排列 是一种排列,其中没有任何元素停在自己原来的位置,所以 !n 数的是 n 个元素 全部移位的重排方式数。工具采用递推式 !n =(n − 1)(!(n − 1)+ !(n − 2)), 配上基例 !0 = 1 与 !1 = 0,因此即使结果长达几百位,也精确到最后一位。 除了 !n,页面同时给出对应的阶乘 n! 和比值 !n / n!,后者正是随机打乱 n 个 元素后没有一个落回原位的概率。这个比值几乎一上来就稳定在 1/e ≈ 0.3679, 正是帽子寄存问题的著名答案,也是谁都不抽到自己名字的礼物交换抽签背后的 数学。支持一键复制,链接可分享并还原 n 的取值。所有运算都在你的浏览器里 完成,不上传,不调接口。
工具细节
- 输入
- 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制 + 预览
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 计算度量 · 学生
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
错位排列计算器 适合怎么用
适合快速估算、对比和规划数字,帮你在做最终决定前先有底。
适合计算任务
- 买东西、做计划、训练或排期前,先算出大概范围。
- 一次只改一个输入,对比不同方案。
- 把模糊假设变成能讨论的数字。
计算检查项
- 认真核对单位、日期、比例和取整方式。
- 健康、金融、税务、法律相关结果只能做规划参考,不能替代专业意见。
- 重要结果要保存输入条件,方便以后复算。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
安排谁都不抽到自己的 Secret Santa
你在给 n 位同事组织礼物交换,想知道随机抽一次合格的可能性有多大, 也就是没人抽到自己名字。这个概率是 !n / n!。对 8 人的小组,工具显示 8! = 40320 种抽法里有 !8 = 14833 种合格,约 36.8%。所以如果抽签脚本 只是失败就重抽,几乎不会超过三次,把这个数摆在没耐心的办公室面前 会让人安心不少。
精确核对概率作业答案
一道组合题要求:把 n 封信放进 n 个信封,使每封信都放错信封,共有 多少种放法。这就是错排数 !n。输入 n,读出精确整数 !n,核对你手算的 递推或容斥求和。由于结果是 BigInt,n = 20 时仍然精确;而用 n!/e 的 计算器只会给出一个四舍五入的浮点数。
在统计课上讲清 1/e 的反直觉
无论 n 多大,完全打乱的列表里没有一个元素在原位的概率都在 36.8% 附近徘徊,这是个好记的钩子。把 n = 4,5,10,50 时的 !n / n! 展示给 学生,看它只用几项就锁定在 0.3679。并排的 n! 和 !n 让收敛变得具体, 而不是幻灯片上的一个公式。
估算随机分派或匹配测试的规模
当你把 n 项任务随机重新分给 n 个人,想保证谁都不再拿到原来那项时, 干净重派的数目是 !n,盲洗一次命中的比例是 !n / n!。用这个数判断 拒绝采样是否够便宜,还是应该直接生成一个错位排列。
常见踩坑
把 !n 和 n! 搞混。子阶乘的感叹号在 n 前面,阶乘的在 n 后面,两者是不同的数。!4 = 9,而 4! = 24。如果你想要错排数,工具或公式却给出更大的那个数,说明你把记号读反了。
以为 !1 等于 1。只有一个元素时,没办法把它挪离原位,所以 !1 = 0,而不是 1。只有 !0 = 1,这来自空积约定。很多人类比 1! = 1 而猜 !1 = 1,把递推基例弄错。
对大的 n 用 !n = n! / e 再手动取整。精确规则是 !n = round(n! / e),但表格携带的位数太少,n 超过约 18 后,取整的浮点值就会偏掉。像本工具这样在精确整数上跑递推,才能避免差一。
隐私说明
整个运算,包括错位排列递推、阶乘以及 !n / n! 概率,都是浏览器标签页里 运行的纯 BigInt 算术。n 的取值不离开页面,也不记录任何内容。唯一要注意: 分享链接会把 n 写进查询字符串,所以把链接粘到聊天里,对方服务器的访问 日志会留下这个数。n 本身并不敏感,通常无需顾虑,但如果不想留痕迹,可以 用复制按钮粘贴结果文本,而不是分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。