使用方法
- 在 整数 中输入1到10¹⁵ 之间的整数。数字之间允许有空格。
- 阅读 质因数分解,以及附有指数的 质因数及其指数 表。
- 检查 约数个数、约数之和 和 是否为质数?。
- 阅读 计算过程,逐次看到因数树的每一次分裂。
因数的求法
试除法先用2、3、5去除该数,然后用与30互素的数(7、11、13、17、19、23、29等)去除,每次都要求整除。试除到10,000,或下一个候选数的平方大于剩余部分时停止。
剩下的部分只可能是1、一个质数,或两个大于10,000的质因数之积的合数。质数用 Miller-Rabin 检验判定,合数则用 Pollard ρ 方法分解,该方法通过循环搜索找出一个约数。
约数与约数之和
若 n = p₁^e₁ × p₂^e₂ × …,则 n 有 (e₁ + 1) × (e₂ + 1) × … 个约数。约数之和等于各素数幂的和 1 + p + … + p^e 之积。
质数有两个约数,即1和它本身,因此它的约数之和比该质数大1。数1只有一个约数,它不是质数。
n = p₁^e₁ × … × p_k^e_k
约数个数 = (e₁ + 1) × … × (e_k + 1)
约数之和 = (1 + p₁ + … + p₁^e₁) × … × (1 + p_k + … + p_k^e_k)
本计算器不涵盖的内容
- 超过10¹⁵ 的数,以及负数、小数或分数。
- 一次分解多个数:一组数的因数分解,请使用最大公约数与最小公倍数计算器。
- 对超过 3.3 × 10²⁴ 的数作素性证明:本计算器的检验在该界限以下是精确的。
示例:600851475143
试除依次去掉71、839、1471和6857,各一次,因此 600851475143 = 71 × 839 × 1471 × 6857。每个指数都是1,因此约数个数为 2 × 2 × 2 × 2 = 16。
约数之和为 (1 + 71) × (1 + 839) × (1 + 1471) × (1 + 6857) = 72 × 840 × 1472 × 6858 = 610,544,148,480。该数是合数,因此不是质数。
| 结果 | |
|---|---|
| 质因数分解 | 71 × 839 × 1471 × 6857 |
| 约数个数 | 16 |
| 约数之和 | 610,544,148,480 |
| 是否为质数? | 否 |
常见问题
什么是质因数分解?
它是把一个整数写成若干质数之积的方式。例如 84 = 2 × 2 × 3 × 7,写作2² × 3 × 7,即2上方的指数为2。
为什么试除只做到10,000?
对于较大的质数,试除很慢,因此在除到10,000之后,剩下的部分用 Miller-Rabin 检验,并用 Pollard ρ 方法分解。在10¹⁵ 以下,剩下的部分最多只有三个质因数,两种方法都能很快找到它们。
1是质数吗?
不是。质数恰好有两个约数,而1只有一个。因此数1既非质数也非合数,它也没有质因数。
素性检验的准确度如何?
对于 3.3 × 10²⁴ 以下的每个数,检验都是精确的,因为底数2到41已知可以判定该范围内的素性。本工具只接受不超过10¹⁵ 的数。
约数个数说明什么?
它统计能整除该数的每一个整数,包括1和该数本身。它由各指数求得:将每个指数加一,再把结果相乘。
我输入的数字会被发送到服务器吗?
不会。因数分解完全在您的浏览器中完成,您输入的内容不会被保存,也不会发送给我们或任何其他服务器。
资料来源
- Wikipedia: Integer factorization, with trial division and Pollard's rho(英文)
- Wikipedia: Pollard's rho algorithm(英文)
- Wikipedia: Miller-Rabin primality test(英文)
- Wikipedia: Divisor function, the number and sum of divisors(英文)
数据和文字最近核对于2026年11月10日星期二。