对于一个数n,如果想要判断它是否为素数,常规的方法为试除法。即,让n依次除以2到sqrt(n)以内的整数。如果有出现除尽的情况,则为合数。
该方法的时间复杂度为O(sqrt(n))在面对n为长整型的时候有可能超出时间要求。因此普遍采用米勒拉宾算法进行素性判定。
在此之前介绍一种伪素数判定方法——小费马定理。
但没有米勒拉宾素性测试快。
米勒拉宾素性测试是:
判断一个数p是否为素数
p首先得为大于等于2的正整数才有可能为素数,
首先判奇偶,若为偶数只有2为素数,
若为奇数(这里可以考虑去掉3甚至5的倍数),则先求出d。
对于每一个底a,让d不断乘以2直到为(p-1)2,
在此过程中(包括原本的d与d=(p-1)2时的情况),
设t为a的d次方模p的余数,
(1)当t=-1时跳出,声明p有可能为素数
(2)当t=1时,若d为奇数,跳出声明p有可能为素数,否则跳出声明p必为合数
(3)当d=(p-1)2时跳出,声明p必为合数。
喜欢数学心请大家收藏:()数学心
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:作死系主播:这男人太听劝了! 御灵山庄 重生60:从深山打猎开始致富 她见青山 叛逆契约兽 穿越成雍正女儿后 娇术 听雨一夜梦境来 末世大洪水:女邻居上门借粮 从柯南元年开始建立穿越者联盟 民间诡病实录 狂龙出狱 哥们竟是曹操型上单? 重生回到法庭上,我审判百万人! 偏偏宠上你 龙族:归来的他,反抗天命 白月光神君和他的怨种小徒弟 你不是说拍完必亏的吗 自我攻略的世界 铸星笔记
好书推荐:揉碎温柔为夫体弱多病和情敌在古代种田搞基建我有了首都户口暗恋指南星际双修指南我只是一朵云瑜伽老师花样多妈宝女她躺平爆红了你不能这么对我带着战略仓库回大唐背叛宗门,你们后悔什么?重生之护花痞少许你三世民国重生回到古代当夫子太子殿下躺平日常我的外甥是雍正公主 驸马 重生重生宠妻时光盗不走的爱人古穿今之甜妻混世小术士高手她带着全家翻身借一缕阳光路过爸爸偷了我的女朋友的东西后妈卷走40万失踪后续