米勒-拉宾(MillerRabbin)素性测试算法

原创滴博客~https://www.cnblogs.com/precious-ZPF/p/9481599.html

小编赶紧摘过来的,多看几遍向银家多学习学习QAQ

首先,在了解米勒-拉宾素性测试之前,我们要先了解费马小定理。

关于费马小定理就不再细说原理和证明了,应用非常广泛。

费马小定理中说  若p是质数  则有 a的(p-1)次方在(mod p)的情况下 恒等于1   数学表达式--->  a^(p-1) ≡ 1 (mod p)

然后我们要注意: p若是质数  则满足费马小定理  但是  满足费马小定理  并不能证明p就是质数

有些数字 满足费马小定理,但是并不是质数  他们叫做伪质数(伪素数的个数是无穷的)

那么 知道了这些  算法就很好理解了

一个数 如果满足费马小定理 那么他很大几率就是素数了  但是还有可能不是 

米勒-拉宾素性测试就是  令费马小定理中的a  分别等于多个数  然后拿每一个a去测试 n  若所有的测试 都满足费马小定理  那么n就是素数

通过快速幂 我们可以很快的检测是否满足费马小定理

在一定范围内 伪素数是有限的  只要选区恰当的a的值  呢们就可以保证这是一个确定性的算法  下面详细给出a的选择

       if n < 1 373 653   a = 2 and 3.

       if n < 9 080 191   a = 31 and 73.

  if n

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值