跳转到主要内容
Calcton

21! = 51,090,942,171,709,440,000

21 的阶乘等于从 1 乘到 21 的全部整数之积:21! = 5.109094 × 10^19,共 20 位,末尾恰好 4 个零。阶乘是排列组合公式的基本积木,也是增长最快的常见数列之一。

51,090,942,171,709,440,000

21 的阶乘:1 × 2 × … × 21,从 1 乘到 21 的全部整数之积

位数
20 位
科学计数法
5.109094 × 10^19
末尾零
4 个

计算步骤

  1. 第一步:写出定义

    21! = 1 × 2 × 3 × … × 21,即从 1 乘到 21 的全部整数之积。

  2. 第二步:递推关系

    21! = 21 × 20! = 21 × 2,432,902,008,176,640,000 = 51,090,942,171,709,440,000。递推让每一项只需一次乘法。

  3. 第三步:素因数分解视角

    把 1 到 21 各数分解质因数再合并:21! 的素因数中2 出现 18 次、3 出现 9 次、5 出现 4 次。每个素数 p 的次数由 Legendre 公式 e = Σ ⌊21/p^i⌋ 直接算出。

  4. 第四步:末尾零计数

    末尾 4 个零:每个 10 = 2 × 5,因子 2 远多于 5,零的个数由 5 决定——⌊21/5⌋ = 4。

素因数分解视角

把 1 到 21 各数分解质因数再合并,21! 共含 8 个素因子(Legendre 公式 e = Σ ⌊n/p^i⌋):

218395473111131171191

递推链

20! = 2,432,902,008,176,640,00021! = 51,090,942,171,709,440,00022! = 1,124,000,727,777,607,680,000

实际场景

赛制与调度爆炸

21 个对象的任意排列有 21! = 5.109094 × 10^19 种。哪怕是 13 个元素(13! ≈ 6.2 × 10^9)穷举也开始吃力——调度、加密、搜索算法的复杂度分析都拿阶乘当「爆炸」的代名词。

超出整型世界的边界

21! = 51,090,942,171,709,440,000 起超出 64 位无符号整数上限(约 1.8 × 10^19);本页 21! 有 20 位,必须 BigInt 递推才能保住末位数字的精确。

相邻阶乘

常见问题

两个独立理由都指向 1:其一,空积定义——零个数相乘等于乘法单位元 1,正如空和等于 0;其二,递推一致性——n! = n × (n-1)! 代入 n = 1 得 1! = 1 × 0!,由 1! = 1 反解出 0! = 1。计数上「从 n 个元素选 0 个只有一种方法」也要求 C(n,0) = 1。

21! 末尾有 4 个零。末尾零来自因子 10 = 2 × 5,而 2 的因子远多于 5,所以零的个数由 5 决定:Legendre 公式 ⌊21/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(21, k) = 21! / (21 - k)!(从 21 个元素按顺序取 k 个);组合数 C(21, k) = 21! / (k! × (21 - k)! )(不计顺序)。两者相除得 k!——顺序信息恰好值 k! 倍。

继续计算

本页收录自阶乘值表,共 101 个精确值覆盖 0! 到 100!。 查看 全部 101 个阶乘对照。

搜索计算器

搜索全站计算器、分类与页面,回车直达