对任意非负整数精确算出 n!,附带位数、尾随零、双阶乘与科学计数法,全程用 BigInt 在浏览器本地完成
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
输入一个非负整数 n。n! 用 BigInt 精确计算,即使 100! 也会返回全部 158 位数字,不是四舍五入的浮点近似值。同时给出位数、尾随零个数(用勒让德公式)、双阶乘 n!!,以及可选的科学计数法形式。
这个工具能做什么
免费阶乘计算器,对任意非负整数精确返回 n!。阶乘就是把 1 到 n 的每个 整数连乘起来,所以 5! = 1·2·3·4·5 = 120,而按定义空乘积 0! = 1。 这里每一位数字都用 BigInt 计算,所以 100! 会给出完整的 158 位整数, 而不是基于普通浮点数的工具那种四舍五入的 9.33e157,后者其实从 21! 起 就已经算错了。除了完整结果,还会给出位数、用勒让德公式 floor(n/5) + floor(n/25) + … 算出的尾随零个数、双阶乘 n!!(每隔一个 数连乘),以及可选的科学计数法近似值,方便快速感知量级。结果过大时会 折叠到一个开关后面,让页面保持流畅,一键即可复制整个数字。全部运算都 在浏览器本地跑,什么都不上传,n 的值会写进网址,分享链接能原样打开 同一次计算。100% 浏览器本地。
工具细节
- 输入
- 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制 + 预览
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 学生
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
阶乘计算器 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
精确核对算法面试或作业的答案
你写了个阶乘函数,想拿一个精确参考来核对,尤其是超过 64 位数会出错 的那一段。在这里输入同一个 n,读出完整的 BigInt 结果,再和你的输出 对一对。因为 21! 已经超出 JavaScript 数字的范围,朴素写法正是从这里 开始悄悄返回错位数字,所以拿 100! 那个精确的 158 位值来对照,能抓出 你自己的断言可能放过的溢出 bug。
查一个精确无误的大阶乘
你需要 50! 或 100! 的精确整数,用在证明、概率题或数论笔记里,而不是 一个四舍五入的近似值。输入下标,读出完整值,结果太大就展开折叠部分, 一键就能全部复制。没有表格会把它压成科学计数法,也没有在线工具会 悄悄截掉尾巴。
手算概率与组合问题
排列组合都建立在阶乘上:P(n,r) = n!/(n−r)!,C(n,r) = n!/(r!·(n−r)!)。 在这里算出需要的阶乘,代进公式,就得到彩票、座位表或一手牌的精确 计数。位数和尾随零的读数还能帮你快速核对最终答案的量级对不对。
讲清 0! 为何等于 1 以及尾随零从哪来
给班上讲阶乘递推或勒让德公式?先算 5!,再算 10!,再算 25!,指着 尾随零个数从 1 到 2 到 6 一路增长,正好和 floor(n/5) + floor(n/25) 预测的一致。把网址分享出去,每个学生打开的都是同一个数,再用 0! = 1 这个例子引出关于空乘积的讨论。
常见踩坑
大阶乘用普通数字而不是 BigInt。JavaScript 数字只在 2 的 53 次方以内精确,而 21! 就已经超出,所以基于普通数字的计算器从那以后尾数就是错的。这个工具用 BigInt 算整条乘积,所以 100! 显示全部 158 位正确数字,而不是四舍五入的 9.33e157。
把双阶乘 n!! 和 (n!)! 搞混。双阶乘是每隔一个数连乘,所以 7!! = 7·5·3·1 = 105,而 (7!)! 是 5040 的阶乘,一个大得离谱的数。要把 !! 读成对每隔一个整数做的一次运算,不是两个阶乘叠在一起。
忘了这里的阶乘只对非负整数有定义。负数或分数没有普通意义上的阶乘(那需要伽马函数),所以像 −3 或 2.5 这样的输入没有值,工具会显示无定义,而不是硬凑一个出来。
隐私说明
这里的每一步运算,完整阶乘、双阶乘、位数、尾随零公式和科学计数法预览, 都是浏览器标签页里用 BigInt 运行的纯 JavaScript。输入和结果都不离开 页面,也不做任何记录。唯一要注意:分享链接会把 n 的值写进查询字符串, 所以把链接粘到聊天里,对方服务器的访问日志会留下这一个数字。这个数字 本身不敏感,所以这个工具分享网址完全没问题。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。