素数极限问题探讨.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
素数极限问题探讨.doc

素数极限问题探讨 】随着自然数的不断增大,素数的个数 也在不断增多,而素数的不断增加导致因数数目的不 断扩大,这是否意味着自然数、因数增加到一定程度 后所有的自然数都能够被1和自身以外的因数分解而 没有新的素数了呢?借助计算机对自然数中所蕴涵的 素数进行计算、统计分析,其规律显示素数个数将随 着自然数的增大而增加下去,素数是没有尾的.此次借 助计算机算出的最大一个素数是2099999999. 关键词】素数;自然数;因数 素数即只能被1和它自身整除的自然数.随着自然 数的不断增大,素数的个数也在不断增多,就意味着 因数的不断增加.自然数的不断增大和因数的增多就 意味着素数的个数就可能要减少,那么当自然数大到 某个数后,是否就没有素数了,就是说素数是否有尾 呢?借助计算机对素数个数进行计算、统计、分析, 显示出二者的变化关系趋势. 素数的算法 h去1:根据素数的定义,判定某个自然数n是 否为素数,只需用2到n-1去除n,如果都除不尽则n 是素数,否则只要其中有一个数能整除则n不是素数. 这种根据定义计算素数需要执行n-2次除法,计算量 大,当分析计算较大自然数的素数时耗时长. 优化算法2:很显然,当因数大于自然数n的一 半,即n/2时,只剩1个因数n可以整除n,故在判 定自然数n是否为素数只需计算2?n/2范围内有无因 数即可,计算工作量较算法1减少一半. 优化算法3:若n能分解成因数iXj (i,j是大于 2,小于n的整数),则i、j取值范围为:大于等于2 而小于等于n/2,因数i、j所组成的数列中按大小顺 序排列二者具有关系iXj=n,如图1所示.数列的中心 位置为n,故从2计算到n是否有因数存在即可判断 出n是否为素数,而从n到n/2实际上是重复计算. 这种算法较算法2计算量减少n/2,当n较大,例如 为1亿时,计算量仅为算法2的1/5000,计算量大幅 减少. 优化算法4:在计算机编程计算时可进一步优化 计算工作量.首先,自然数n的末位数为偶数或5时则 该数可以被2或5整除,故该自然数一定不是素数. 在编程时可以只对末位数为除5以外的奇数进行素数 判断,进一步减少需要进行素数判断的自然数.其次, 在算法3中因数i取值范围2?n,末位数为偶数或5 的因数进行iXj=n的运算结果必然是末位数为偶数或 5的自然数n,故对于需要进行判断的末位数为除5 以外的奇数自然数n而言末位数为偶数或5的因数i 一定不是自然数n的因数.在自然数n与因数i的整除 运算判断素数是因数i的实际运算范围可以确定为 3?n中末位数为除5以外的奇数,这样可以进一步减 少计算机运算工作量. 通过上述分析对比可见经过3步优化后计算量大 幅度减少,且当计算的自然数n越大时,其算法的优 越性更加明显.例如在计算出1亿?2亿之间的自然数 n的所有素数时,算法1的整除运算量为1016次,而 算法4的整除运算量为1.6X1011次,提高效率6.2X 104 倍. 计算结果分析 由于个人PC机性能及时间因素限制,只分析计 到自然数21亿以内的素数.经过约半年时间运算得到 的21亿以内最大的素数是2099999999,并对21亿以 内的素数数量变化趋势进行分析. 首先,看一下自然数1亿到21亿之间素数数量变 化规律.图2显示了自然数每增加1亿,这一亿自然数 之间对应的素数个数.显然素数个数随着自然数的增 加、因数相应增加,素数在每一亿自然数区间内个数 减少,即自然数每增加1亿,在这新增加的1亿自然 数中所包含的素数个数是在递减的2), 数中所包含的素数个数是在递减的 2),因此有了 文章一开始的疑问:随着自然数增大素数个数会减少, 是否在自然数大于某个数后,素数个数增加值为零呢? 也就是说素数似乎应该有个尾? 其次,再来看一下随着自然数的增加对应的素数 总数增量关系.在图2的线性坐标系中显示的素数个数 在每一亿自然数区间非线性减少,具有渐近X轴趋势, 似乎是一种无限接近而又不能到达X轴,因此在双对 数坐标系中查看二者关系有什么变化趋势.图3显示了 素数总数-自然数在双对数坐标系中非线性变化关系: 自然数每增加一个数量级(10倍),小于这个自然 的所有素数总个数也增加若干倍,但素数增加倍数小 于10 (表 于10 (表1),且二者呈非线性关系增加 3),由 于二者关系曲线在Y=X曲线下方,显然素数增加的速 度小于自然数,而且曲线呈下凸特征,没有渐近水平 趋势,即素数总个数没有趋于某一上限趋势,也就是 说素数总数将会随着自然数增加而无限增加下去.表1 中自然数按10倍比例关系继续增加下去可以构成一 组比例为10的等比正项级数数列.随着自然数的10倍 关系增加素数总个数呈大于6倍的比例关系增加,而 且随着自然数的增加,素数增加的倍数也在增大,且 有渐近10的趋势(表1),当

您可能关注的文档

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档