什么是阶乘计算器?
阶乘计算器可计算 n!(n 的阶乘),即从 1 到 n 所有正整数的乘积。阶乘广泛应用于组合数学、概率论和统计学。本工具支持大数字的即时计算,并逐步展示每一步的乘法过程。
工具接受 0 到 10000 之间的任意整数,输出阶乘值的同时给出完整的展开式 n × (n-1) × … × 1,并配上一句通俗解释:比如 12! 等于把 12 个不同物品排成一列的方法数。由于采用 BigInt 运算,即使像 10000! 这样的结果也是精确值,不会四舍五入。还可以对一段范围生成阶乘表,结果支持复制,表格支持下载。
使用方法
- 输入一个 0 到 10000 之间的非负整数——每个结果都是精确值,不会舍入。
- 查看阶乘结果及其完整的乘法展开式。
- 复制计算结果,或下载某个数值范围内的阶乘对照表。
何时使用
- 数一组不同物品(扑克、选手、文件)有多少种排列方式。
- 做概率题时,算二项式系数 nCr 公式中的分母。
- 估计暴力枚举式排列算法的搜索空间有多大。
结果
输入 12,得到 479,001,600。工具将展示 12 × 11 × 10 × … × 1 = 479,001,600,可用于计算 12 个元素的排列数。
常见问题
- 计算器最大能算多大的数?
- 最大到 10000。工具用 BigInt 大整数运算,无论结果有多少位都是精确的——10000! 是一个 35660 位的数字,照样能瞬间算出。设上限 10000 只是因为几万位的结果显示和阅读起来太不方便,跟精度没有关系。
- 0! 等于 1 是规定还是漏洞?
- 是数学规定。「空积」约定 0! = 1,这样在 r = 0 或 r = n 时,nCr = n! / (r!·(n-r)!) 这种公式才不需要额外特例。要是没有这个约定,组合数学的代码会处处都得加判断。
- 可以算小数或负数的阶乘吗?
- 不能。阶乘只定义在非负整数上。要把它推广到连续值,要用伽马函数:Γ(n+1) 在整数处等于 n!,在大多数非整数处也有定义,但那是另一个计算器了。
- 较大结果旁边显示的 9.33 × 10^157 是什么?
- 那只是科学计数法的简要概览,并不是答案本身。计算器始终先完整列出全部数字(100! 的 158 位一个不少地显示)。当结果达到 16 位或更多时,会额外加上一行紧凑的 9.33 × 10^157 以及位数,方便你一眼看清量级。没有任何四舍五入或替换,点击复制会把完整精确的数字放到剪贴板。
- 算 100! 在现实中有什么用?
- 100! 会出现在两副 52 张扑克牌的全排列数中、小概率事件的概率估计里,以及泰勒级数等数值方法里——分母里的阶乘保证项随阶数迅速变小。