判断一个数是否为素数之费马测试

费马测试被称为概率性素性测试,它判断的是“某个数是素数的概率大不大”。
如果P为素数,那么所有比P小的数Q都满足公式 QP mod P = Q ,即
在这里插入图片描述

例素数5的性质,比素数5小的数有4、3、2、1,那么:

45 (45=1024)mod 5 = 4
35 (35=243)mod 5 = 3
25 (25=32)mod 5 = 2
15 (15=1)mod 5 = 1
满足公式 QP mod P = Q 。

实际使用中不需要对所有的Q进行计算,只需要随机选取几组即可。

但反过来,如果所有Q都满足条件,P也不一定就是素数。例如数字561,我们又称之为伪素数,但这类数字存在的概率较少如下图所示:
在这里插入图片描述

参考:《我的第一本算法书》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值