Miller-Rabin
Miller-Rabin
一种可以在 \(O(klogn)\) 的时间复杂度内大致地判断一个数是否是质数的算法。
就是根据质数的性质的逆否命题来证明不是质数,主要利用了两个性质。
费马探测
这个探测就是根据费马小定理的探测,利用 $$\forall_{p\in P} a^{p-1} \equiv 1$$ 的性质,我们在判断一个数 \(x\) 是否是质数时,只要随便找一个数作为 \(a\) ,快速幂求一下 \(a^{x-1}\) 在模 \(x\) 的意义下的值是否等于 \(1\) 即可。
但费马探测并不能过判断出卡迈克尔数。
二次探测
对于一个质数 \(p\) ,我们同样有性质 \(a^2 \equiv 1 (\%p)\) 这个方程的解只有两个, \(x_1=1,x_2=-1\) 。拉格朗日定理保证了不存在非平凡平方根,所以我们可以将 \(a^{x-1}\) 拆成 \(a^{2^k \times t}\) 的形式,先用快速幂求出 \(a^t\) ,再进行 \(k\) 次二次探测,在最后再进行一次费马探测即可。
posted on 2025-10-24 22:28 Pearblossom 阅读(2) 评论(0) 收藏 举报
浙公网安备 33010602011771号