质因数分解

找到任何数的质因数和除数

如何使用质因数分解

  1. 1输入一个大于 1 的正整数。
  2. 2运行计算器将其分解为质因数。
  3. 3查看带指数的质数列表,例如 360 = 2³ × 3² × 5。

质因数分解详解

n = p1^a1 × p2^a2 × ...(每个 p 为质数)

质因数分解把数表示为质数的乘积,质数是大于 1 的每个整数的唯一构造单元。

它是求最大公约数、最小公倍数、密码学以及判断质数或完全幂的基础。

算术基本定理保证:**每个大于 1 的整数都能唯一分解为质因数的乘积**(不考虑顺序)。这个「唯一性」看似理所当然,实则是数论的基石——它保证了分数约分的结果唯一、GCD 和 LCM 的计算有确定答案。如果分解不唯一,整个初等数论都会崩塌。

实用的分解方法是「试除法」:从最小的质数 2 开始除,除不尽就试 3、5、7…,每次除到不能再除为止。关键优化是**只需要试到 √n**——如果 n 有大于 √n 的因数,那它必然配对一个小于 √n 的因数,早就试过了。例如分解 97,只需试到 √97 ≈ 9.8,即试 2、3、5、7 都不行,就能断定 97 是质数。这个优化让大数分解的耗时大幅下降。

数字质因数分解质因数个数是否为质数
122² × 32 种否
602² × 3 × 53 种否
1002² × 5²2 种否
3602³ × 3² × 53 种否
1,0017 × 11 × 133 种否
9797—是

常见数字的质因数分解

常见问题

为何是唯一的?

算术基本定理指出每个整数的质因数分解恰好只有一种。

1 呢?

1 不是质数,也没有质因数;分解从 2 开始。

能处理多大的数?

试除法在百万级以内没问题;极大数需要高级算法。

1 是质数吗?

不是。质数的定义是「大于 1 且只能被 1 和自身整除的自然数」,1 被明确排除在外。排除 1 的原因正是为了保证分解的唯一性——如果允许 1 作为质因数,12 就可以写成 2²×3、1×2²×3、1²×2²×3…,无限多种「分解」,算术基本定理就失效了。这是数学定义为了保持理论自洽而做的选择。

大数分解为什么是密码学的基础?

因为分解极其困难。把两个大质数相乘很容易(计算机瞬间完成),但反过来把乘积分解回两个质数,对几百位的数来说,即使用最快的算法和超级计算机也需要数千年。RSA 加密正是利用这种「单向性」:公钥是两个大质数的乘积(公开),私钥是这两个质数(保密)。目前量子计算机的 Shor 算法理论上能快速分解大数,这也是后量子密码学研究的原因。

更多工具