- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
素性检测 1、素数的个数 定理:素数有无穷个 证:若只有有限个,设 为所有的素数。考察 因Npi,所以N为合数。如果N为合数,根据算术基本定理,则N必以某些 为因子。这是不可能的! 2、素数的分布 虽然素数有无穷多个,但随着整数范围越来越大,素数似乎越来越稀少。 [1,100]----25 [1000,1100]---16 [100000, 100100]---6 10000100]---2 3、小素数 Eratosthenes筛法 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 经过众多学者的艰辛努力, D.N.Lehmer 于 1914年编织出内的素数表。 试除法 假设我们已经找到了前n个素数p1=2, p2=3, ...,pn, 为了寻找下一个素数我们从pn+2开始依次检验每一个整数N, 看N是否能被某个pi, i=1,2,...,n整除. 如果N能被前面的某个素数整除, 则N为合数. 否则N即为下 一个素数pn+1. 为提高算法的效率,只需用不超过 的素数去除N。 4、素数的判别 威尔逊判别法 n是素数的充要条件是 不过该算法的运算量为O(nlogn^2),计算量太大。 Fermat判别法 如果p是素数,a与p互素,那么 实际上,大约2500年前,中国古代数学家 就发现了上述结论。他们由此得出:如 果 ,则n为素数。该判别法 的运算量为O(log^3n). 但这是一个必要条件,非充分条件。反过来结论并不成立。例如: 但是341=11x34为合数! 称使得 成立的p为伪素数。 注意同余的计算: 也是无穷多个。实际上,数学家迈罗在1903年证明,如果n为伪素数,那么2^n-1也是伪素数。 不过,同素数个数相比,伪素数的个数非常少。例如,在2×1010之内,伪素数不到素数的百万分之三。 因此,可以认为 Fermat定理的逆定理几乎成立,这也可以成为概率测试的依据。 利用伪素数表,可以给出判别素数的新方法:如果p不整除2n-1, 则p为合数;如果p整除2n-1, 且在伪素数表中,则p为合数,否则,p是素数。 伪素数可以推广到a-伪素数(相对2-伪素数)。令人惊奇的是,存在这样的数p, 它对任何a都是伪素数。例如,p=561=3×11×17就是这样一个伪素数,即 还有1105,1729等也是这样,它们都是合数. 这样的数称为绝对伪素数,也称迈克尔数。如果迈克尔数只有有限个,则对nM, 素数的判别变得比较容易。但迈克尔可能有无限个,这使得直接用Fermat 定理判别素性变得困难。 n-1检验法 假设n-1=F*R, FR, gcd(F, R)=1. 如果对F的每一个素因子q都存在一个整数a1满足: 则n是素数。 1980年数学家Adleman, Rumely, Cohen和Lenstra研究出一种非常复杂、具有高度技巧的素数判别方法,检验一个20位数的素性只需10秒,对一个50位数,只要15秒,而一个100位数只用40秒。如果用试除法,判别一个50位数的素性要一百亿年! 5、概率素数 Lehmann:对于给定的数p,随机选取ap,计算a^((p-1)/2) mod p,如果它不等于1或-1,则p不是素数;否则,它不是素数的可能性至多是一半: Solovay-Strassen:给定p, 判断它是否为素数: (1)选择一个小于p的随机数a; (2)如果a与p不互素,则p为合数; (3)计算 J=a^[(p-1)/2] mod p; (4)如果 J1或-1, 那么p为合数; (5)如果 J=1或-1, 那么p不是素数的可能性最多是1/2. 其中a就是p可能是素数的一个证据,多找几个证据,比如k个,那么p不是素数的可能性不超过1/2k. 利用上述算法可以产生大的随机素数: (1)产生随机数p; (2)确保p不被较小的素数整除。 (3)产生随机数a, 利用上述算法检测p的素性。直到经过多次测试为止。 Miller-Rabin: 原理: 若n是素数
您可能关注的文档
最近下载
- ISO27001 2022版内审全套资料(内审计划+检查表+审核报告等).doc
- fidic99版新红皮书中英文双语对照版.docx VIP
- 钢板弹簧设计计算程序Ver1.0-20070405.xls VIP
- 区块链产业学院建设思路与规划.pptx VIP
- 建筑外门窗气密、水密、抗风压性能分级(1).doc VIP
- 读本低年级 第2讲《一心跟着共产党》第二课时《党和人民心连心》教学课件.pptx VIP
- 数控车床高级工理论考试题库(含答案).docx VIP
- 《WPS Office办公应用案例教程》教学课件 项目8 WPS Office App文档的基本应用.ppt VIP
- 《WPS Office办公应用案例教程》教学课件 项目9 WPS Office App表格和演示文稿的应用.ppt VIP
- 通用质量特性工作计划-模板.docx VIP
文档评论(0)