20! = 2,432,902,008,176,640,000
20 的阶乘等于从 1 乘到 20 的全部整数之积:20! = 2.432902 × 10^18,共 19 位,末尾恰好 4 个零。阶乘是排列组合公式的基本积木,也是增长最快的常见数列之一。
2,432,902,008,176,640,000
20 的阶乘:1 × 2 × … × 20,从 1 乘到 20 的全部整数之积
位数
19 位
科学计数法
2.432902 × 10^18
末尾零
4 个
计算步骤
- 第一步:写出定义
20! = 1 × 2 × 3 × … × 20,即从 1 乘到 20 的全部整数之积。
- 第二步:递推关系
20! = 20 × 19! = 20 × 121,645,100,408,832,000 = 2,432,902,008,176,640,000。递推让每一项只需一次乘法。
- 第三步:素因数分解视角
把 1 到 20 各数分解质因数再合并:20! 的素因数中2 出现 18 次、3 出现 8 次、5 出现 4 次。每个素数 p 的次数由 Legendre 公式 e = Σ ⌊20/p^i⌋ 直接算出。
- 第四步:末尾零计数
末尾 4 个零:每个 10 = 2 × 5,因子 2 远多于 5,零的个数由 5 决定——⌊20/5⌋ = 4。
素因数分解视角
把 1 到 20 各数分解质因数再合并,20! 共含 8 个素因子(Legendre 公式 e = Σ ⌊n/p^i⌋):
218385472111131171191
递推链
19! = 121,645,100,408,832,00020! = 2,432,902,008,176,640,00021! = 51,090,942,171,709,440,000
实际场景
赛制与调度爆炸
20 个对象的任意排列有 20! = 2.432902 × 10^18 种。哪怕是 13 个元素(13! ≈ 6.2 × 10^9)穷举也开始吃力——调度、加密、搜索算法的复杂度分析都拿阶乘当「爆炸」的代名词。
相邻阶乘
常见问题
两个独立理由都指向 1:其一,空积定义——零个数相乘等于乘法单位元 1,正如空和等于 0;其二,递推一致性——n! = n × (n-1)! 代入 n = 1 得 1! = 1 × 0!,由 1! = 1 反解出 0! = 1。计数上「从 n 个元素选 0 个只有一种方法」也要求 C(n,0) = 1。
20! 末尾有 4 个零。末尾零来自因子 10 = 2 × 5,而 2 的因子远多于 5,所以零的个数由 5 决定:Legendre 公式 ⌊20/5⌋ = 4(25 = 5² 会额外贡献一个 5)。
双精度浮点(Number)只能精确表示到 18!(19! 起超出 2^53 安全整数);64 位无符号整数到 20! 为止(21! 超出);双精度能「装下」的最大阶乘是 170! ≈ 7.26 × 10^306,再大就溢出为 Infinity。本表 0!-100! 全部由 BigInt 精确递推,末位分毫不差。
阶乘最快。n! 每项乘上递增因子(×1、×2、×3……),2^n 每项固定 ×2,F(n) 每项平均 ×1.618。Stirling 公式 n! ≈ (n/e)^n × √(2πn) 表明阶乘超指数增长——比任何固定底的幂都快。
排列数 A(20, k) = 20! / (20 - k)!(从 20 个元素按顺序取 k 个);组合数 C(20, k) = 20! / (k! × (20 - k)! )(不计顺序)。两者相除得 k!——顺序信息恰好值 k! 倍。
继续计算
本页收录自阶乘值表,共 101 个精确值覆盖 0! 到 100!。 查看 全部 101 个阶乘对照。