对于一个数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必为合数。
喜欢数学心请大家收藏:(aiquwx)数学心
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:重生79,离婚后知青老婆她后悔了 从流民到皇帝,朕这一生如履薄冰 全家逼我离婚,现在后悔有用么 弃我选白月光?我离婚你疯什么! 末世降临:我招收下属,获得百倍物资 要离婚你高冷,再婚又发疯? 死亡来信 糟了,那妖女也重生了! 聊天群:开局获得赛亚人血脉 带白月光回家,我离婚你悔啥? 重生1961,开局相亲对象就被截胡! 我与仙子不两立 一本杂录 离婚后,傅先生对她俯首称臣 系统盯上龙椅后,公主天天作死 和扶弟魔老婆离婚后,我送她全家升天 苟在末日,独自修仙 CS:不是,你的残局靠请神啊? 重生后在前世死对头怀里兴风作浪 庆余年:范府大宗师