C++:Miller-Rabin素数(质数)检测算法

本文介绍了基于Fermat定理的Miller-Rabin素数检测算法,详细解析了算法原理和步骤,并提供了C++代码实现。通过多次随机测试降低误判概率,该算法在实际应用中表现出较高的效率。
摘要由CSDN通过智能技术生成
2.1 Miller-Rabin理论基础

Fermat定理 若n是奇素数,a是任意正整数(1≤ an?1),则 an?1≡1pmod n。[2]

Miller-Rabin算法的理论基础 如果n是一个奇素数,将n?1表示成2s*r的形式,r是奇数,an是互素的任何整数,那么ar≡1pmod n或者对某个j(0 ≤ js?1, jZ)等式a2jr≡?1 pmod n成立。[2]

这个理论是由Fermat定理推导而来:n是一个奇素数,则方程 x2≡1pmod n只有±1两个解。

定理 3 设xyn是整数,如果x2 = y2pmod n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值