整数分解
质因数分解(试除 + Pollard’s rho)、约数个数与和、欧拉 φ、最大质因数、相邻质数与完整分解步骤。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
分解结果
84 = 2^2 × 3 × 7否21222424278983分解步骤
84 ÷ 2 = 42合数42 ÷ 2 = 21合数21 ÷ 3 = 7质数,分解结束这个工具能做什么
- 做数论题或竞赛题时快速分解大整数:输入 600851475143 立刻得到 71 × 839 × 1471 × 6857,不用自己试除。
- 约分、通分、化简根式前先拿到质因数与指数,写成分解式再动手,避免算错。
- 校验加密或哈希题目里的模数、公钥参数是不是质数,顺带看清它有哪些因数。
- 准备 RSA 演示、随机数种子或散列桶数量时,用约数个数 τ(n)、约数之和 σ(n) 与欧拉 φ(n) 做快速评估。
示例
输入
600851475143
输出
600851475143 = 71 × 839 × 1471 × 6857
约数个数 τ = 16,约数之和 σ = 610544148480,欧拉函数 φ = 591194251200;分解步骤依次为 ÷71 → 8462696833、÷839 → 10086647、÷1471 → 6857(6857 已是质数)。
常见问题
能分解多大的数?
最多 24 位十进制整数,再长会直接提示数字太长。算法是试除加 Pollard’s rho,两个大质数的乘积(例如 24 位的半素数)通常也能在浏览器里几秒内分解出来,但位数越多耗时越不可预测。
输入 0、1 或负数会怎样?
会提示「请输入大于 1 的整数」。0 和 1 没有质因数分解,负数需要先定义符号约定,所以这三种输入都被拒绝。带小数点的数字、科学计数法(1e10)和其它进制(0xFF)也不接受,只认十进制整数。
质数和合数怎么判断?
用 Miller-Rabin 素性测试,对 64 位以内的整数结果是确定的,不会出现「伪质数」误判。输入本身是质数时,结果里只有它自己,分解步骤为空并提示「本身就是质数」。
σ(n) 和 φ(n) 是怎么算出来的?
先把质因数写成 p^e 的形式,然后按公式计算:约数个数 τ(n) = ∏(e+1),约数之和 σ(n) = ∏(p^(e+1)−1)/(p−1),欧拉函数 φ(n) = ∏p^(e−1)(p−1)。以 12 = 2² × 3 为例,τ = 3 × 2 = 6,σ = 7 × 4 = 28,φ = 2 × 2 = 4。
分解过程会上传到服务器吗?
不会。全部计算在你的浏览器里完成,不发起网络请求,断网同样可用;输入的数值不会被保存或记录。
关键词:factorizationprime factorprimedivisoreuler phipollard rho质因数分解质数约数欧拉函数