CCalculate.Studio

🧩 质因数分解计算器

质因数分解把一个整数表示为若干质数的乘积,根据算术基本定理,任何大于 1 的整数都恰好只有一种这样的分解方式(不考虑因数的排列顺序)。本计算器可以对从 2 到 1 万亿之间的任意整数进行质因数分解,并给出约数总个数和所有约数之和。

最后审核: 2026-07-07
Add as preferred on Google

如何理解质因数分解的结果

下表展示了几个常见数的质因数分解,用来说明指数记号的用法。

数值质因数分解约数个数
122² × 36
1002² × 5²9
3602³ × 3² × 524
17(一个质数)17(本身,指数为 1)2
10242¹⁰11
  • 质数自身的质因数分解就是它本身,指数为 1,并且它总是恰好有 2 个约数:1 和它本身。这正是质数的定义性特征。
  • 1 既不是质数也不是合数,没有质因数分解(它是空乘积);本计算器要求输入大于或等于 2 的数。
  • 对于非常大的数,试除法在计算上会变得很慢,因为它必须一直测试到该数平方根为止的所有候选质数——这也正是分解位数极多(成百上千位)的大数在计算上十分困难、并构成 RSA 加密安全基础的原因。

什么是质因数分解?

质因数分解是把一个整数拆解为若干个相乘等于该数的质数的过程。质数是大于 1、恰好只有两个正约数(1 和它本身)的整数(2、3、5、7、11、13……是最前面的几个质数)。例如,360 分解为 2³ × 3² × 5,也就是 360 = 2×2×2×3×3×5。

算术基本定理是数论的基石性结论之一,它保证了任何大于 1 的整数都有且仅有一种质因数分解方式(不考虑因数书写的先后顺序)。正是这种唯一性,使得质因数分解成为一个定义明确、结果可靠的运算,而不是众多同样有效的答案之一。

质因数分解是数学和计算机科学许多核心领域的基础:它被用来求数的最大公约数和最小公倍数、确定一个数的所有约数、化简分数和根式;对于非常大的数而言,质因数分解在计算上的困难性正是 RSA 公钥加密的数学基础——该体制依赖于一个事实:把一个大数分解为因数,远比把这些因数相乘困难得多。

如何使用本质因数分解计算器

  1. 输入一个大于或等于 2 的整数(最大到 1 万亿)。
  2. 计算器按照标准的试除法,反复用可能的最小质因数去除该数,直到只剩下 1 为止。
  3. 查看以指数形式给出的质因数分解结果(例如 2³ × 3² × 5),每个指数表示该质数在乘积中出现的次数。
  4. 查看该数正约数的总个数,以及所有这些约数之和——两者都直接由质因数分解推导得出。

质因数分解、约数个数与约数之和的计算方法

n = p₁^e₁ × p₂^e₂ × ... × pₖ^eₖ(唯一质因数分解)
因数个数 = (e₁+1)(e₂+1)...(eₖ+1)
因数之和 = ∏ (pᵢ^(eᵢ+1) − 1) ÷ (pᵢ − 1)
计算示例:360 = 2³ × 3² × 5 → 24 个因数,因数之和 = 1170

试除法从 2 开始依次测试候选质数,把该数尽可能多次地除以每个质数,然后再换下一个候选质数,以此求出质因数分解。举例说明:360 ÷ 2 = 180,÷2 = 90,÷2 = 45(不再能被 2 整除,所以 2 出现 3 次);45 ÷ 3 = 15,÷3 = 5(不再能被 3 整除,所以 3 出现 2 次);5 ÷ 5 = 1(5 出现 1 次)。结果:360 = 2³ × 3² × 5。

一旦知道质因数分解 n = p₁^e₁ × p₂^e₂ × ... × pₖ^eₖ,正约数的总个数(包括 1 和 n 本身)就可以通过把每个指数加 1 后相乘求得:(e₁+1) × (e₂+1) × ... × (eₖ+1)。以 360 = 2³ × 3² × 5¹ 为例:(3+1) × (2+1) × (1+1) = 4 × 3 × 2 = 24 个约数。

所有约数之和可以用具有可乘性的约数和公式求得:对分解式中的每个质数幂 p^e,它的贡献是 (p^(e+1) − 1) ÷ (p − 1)——即等比级数 1 + p + p² + ... + p^e 的和——再把所有质因数的贡献相乘。以 360 为例:2³ 这一项贡献 (2⁴−1)/(2−1) = 15,3² 这一项贡献 (3³−1)/(3−1) = 13,5¹ 这一项贡献 (5²−1)/(5−1) = 6;三者相乘 15 × 13 × 6 = 1170,即 360 的全部 24 个约数之和。

常见错误

  • 分解还没到 1 就提前停止——每找到一个因数,都必须把它除尽(而不是只除一次),才能换下一个候选质数。
  • 把 1 当作质数——按照现代数学惯例,1 既不是质数也不是合数,如果把它算进分解式,就会破坏算术基本定理所保证的唯一性。
  • 忘记指数(而不只是质数本身)对统计约数个数很重要——约数个数公式对每个质数使用的是(指数 + 1),而不是仅仅统计不同质数的个数。
  • 以为每个大数都有较小的质因数——许多大数(尤其是两个大质数的乘积)根本没有任何较小的因数,而这正是它们能被用于密码学应用的关键特性。

常见问题

如何求一个数的质因数分解?

反复用能整除该数的最小质数去除它,用同一个质数一直除到不能再整除为止,再换下一个质数,如此重复直到商为 1。以 360 为例:先用 2 除三次(360→180→90→45),再用 3 除两次(45→15→5),再用 5 除一次(5→1),得到 360 = 2³ × 3² × 5。

一个数有多少个约数?

把质因数分解中每个指数加 1,再把结果相乘。以 360 = 2³ × 3² × 5¹ 为例,约数个数为 (3+1) × (2+1) × (1+1) = 4 × 3 × 2 = 24。这统计的是全部正约数,包括 1 和该数本身。

什么是算术基本定理?

算术基本定理指出,任何大于 1 的整数都可以写成质数的乘积,且除了质数排列的先后顺序不同外,这种写法是唯一的。正是这种唯一性,使质因数分解成为一个定义明确的运算,而不是若干同样有效答案中的一个,它也是数论许多结论的基础。

1 是质数吗?

不是。按照现代数学惯例,1 既不是质数也不是合数。质数的定义是恰好有两个不同的正约数(1 和它本身);而 1 只有一个正约数(它本身),不满足这一定义。把 1 排除在质数之外,也是算术基本定理成立所必需的,否则一个数就可以「分解」出任意多个多余的 1 作为因数。

为什么质因数分解对加密很重要?

现代 RSA 公钥加密依赖这样一个事实:把两个大质数相乘在计算上很容易,但用目前已知的经典算法把它们的大乘积重新分解回原来的质数,在计算上却非常困难。正是这种「相乘容易、分解困难」的不对称性,使得公钥(也就是那个乘积)可以公开分享,而私钥(也就是那两个质因数)在质数足够大时能够保密,实际上在合理时间内无法被反推出来。

如何求一个数所有约数之和?

利用质因数分解 n = p₁^e₁ × p₂^e₂ × ...,对每个质因数计算 (pᵢ^(eᵢ+1) − 1) ÷ (pᵢ − 1),再把结果相乘。以 360 = 2³ × 3² × 5 为例:2³ 这一项给出 (2⁴−1)/(2−1)=15,3² 这一项给出 (3³−1)/(3−1)=13,5¹ 这一项给出 (5²−1)/(5−1)=6;三者相乘 15×13×6 = 1170,即 360 所有约数之和。

参考文献

  1. Rosen KH. Elementary Number Theory and Its Applications. 6th ed. Pearson, 2010. (Fundamental theorem of arithmetic, divisor functions.)
  2. Hardy GH, Wright EM. An Introduction to the Theory of Numbers. 6th ed. Oxford University Press, 2008.
  3. Rivest RL, Shamir A, Adleman L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 1978; 21(2): 120–126. (RSA and the factoring problem.)

数论 · 全部计算器

相关计算器