01 什么是阶乘(n!)? 阶乘是从1到n的所有正整数的乘积,定义为n! = 1 × 2 × 3 × ⋯ × n。例如5! = 1×2×3×4×5 = 120。按惯例,0! = 1。阶乘是组合数学(排列组合)、概率论、级数展开等众多数学领域的基础工具。
02 为什么用BigInt计算? JavaScript的普通数值类型(Number)超过2⁵³-1(约9×10¹⁵)后会失去精度。但只要n稍微增大,n!很快就会超过这个数值(18!已约为6.4×10¹⁵)。本计算器使用JavaScript的BigInt类型进行乘法运算,因此即使n很大,也能显示没有舍入误差的精确整数结果。
03 参考数值与输入上限 5! = 120,10! = 3,628,800,15! = 1,307,674,368,000,20! = 2,432,902,008,176,640,000。随着n增大,位数会急剧增长(100!有158位,1000!有2,568位),结果会变得非常长,因此为了控制服务器/浏览器负载,将输入限制为n ≤ 5000。