大整数分解 浅析
解决:质因数分解大整数 n n n 。 1 ≤ n ≤ 1 0 18 1\le n\le 10^{18} 1≤n≤1018 。
1.试除法
枚举 [ 2 , n ] [2,\sqrt n] [2,n
] 的所有质数,判断是否整除。除完之后只剩一个 质数 或者 1 1 1 了。时间复杂度 O ( n ln n ) O(\dfrac{\sqrt n}{\ln n}) O(lnnn
) 。
这是一个笨方法,但是它告诉我们一些性质:
- 对于 n n n ,最小的质因子不会大于 n \sqrt n n
。(质数除外)<