构造高等级公变周期△= [m1m2…mn] 在小于m²n 1范围内进行素数判断,合数分解和区段顺序素数的获得.△值编入计算机程序,一次计算,终生受益,我来为大家科普一下关于求1-100的素数之和流程图?以下内容希望对你有帮助!
求1-100的素数之和流程图
构造高等级公变周期△= [m1m2…mn] 在小于m²n 1范围内进行素数判断,合数分解和区段顺序素数的获得.△值编入计算机程序,一次计算,终生受益。
例6,构造百万级△值,如何求m100万 1?△100万在自然数什么范围内应用可以进行素性判断,合数分解和获取任意区段的顺序素数?试计算大于2千万(20000000)的10个顺序素数。
解:假如我们已掌握百万个顺序素数,即可构造百万级△值。
△=[m1m2 m100万]=114……910(计6722809位)
因m100万=15485863(已知)由此数起计算大于ml00万的奇数与百万级的△值的最大公约数,第一个出现1的就是m100万十1
(15485867 △)=1
判定m100万 1=15485867 因 m²100万 1=2398120.76741689
知百万级△的应用范围可以在
15485867<N<239812076741689的自然数范围内进行素性判断,合数分解和获取任意自然区段的顺序素数,如何计算大于2千万的10个顺序素数呢?
令A=200000,我们从自然数A01开始,从小到大按末位数字“1.3.7.9”排列,分别与△求最大公约数,因△值是大数据(有6722809位),我们可将△值以各自然数Ni为模转化到比Ni小的数来求最大公约数,△值对各个Ni的模余转化可以批量,快速完成:计算公约数结果于下。
(A01 △≡0 )=A01
(A03 △≡7537843)=1
(A07 △≡1111117)=2222223
(A09 △≡0 )=A09
(A11 △≡0 )=A11
(A13 △≡0 )=A13
(A17 △≡0 )=A17
(A19 △≡0 )=A19
(A21 △≡0 )=A21
(A23 △≡1518149 )=1
(A27 △≡0 )=A27
(A29 △≡0 )=A29
(A31 △≡0 )=A31
(A33 △≡12366935 )=1
(A37 △≡0 )=A37
(A39 △≡0 )=A39
(A41 △≡0 )=A41
(A43 △≡6666681)=6666681
(A47 △≡12725055)=1
(A49 △≡0 )=A49
(A51 △≡0 )=A51
(A53 △≡0 )=A53
(A57 △≡0 )=A57
(A59 △≡0 )=A59
(A61 △≡2222229)=2222229
(A63 △≡16231895)=1
(A67 △≡0)=A67
(A69 △≡7367741)=1
(A71 △≡0 )=A71
(A73 △≡0 )=A73
(A77 △≡6584203)=1
(A79 △≡13333386)=6666683
(A81 △≡13654622)=1
(A83 △≡0 )=A83
(A87 △≡0 )=A87
(A89 △≡0 )=A89
(A91 △≡0 )=A91
(A93 △≡802237)=1
通过计算我们得出大于20000000的10个顺序素数是:
20000003、20000023、20000033
20000047、20000059、20000063
20000069、20000077、20000081
20000093(请读者查表验证):按此排列方法`人们可以在小于l5485867平方数范围内计算任意自然数区段的顺序素数:
素数公式(N△)=1 N<m²n 1的主要应用功能,一是用已知素数,递推出越来越大的素数,这种递推程序是没有止境的,二是在自然数中把素数和合数鉴别开来,实现素数和合数的分流,一个不漏的计算素数,也可一个不漏的计算合数,它判断素数和合数的准确度是100%,同时,公式还具有分解合数为素因子乘积的能力,请看下面例题:
例7.令a=2398120767416求a11排列到a51的自然数区段有多少个素数?并由小到大写出素数排列。同时选择两个合数进行素因子分解。
解:因a11~a51的自然数都小于m²n 1=239812076741689,故可以对该区段自然数进行素性判断和素因子合数分解,现将a11起排列的自然数末位数字为“1.3.7.9”由小到大排列与△百万求最大公约数。
(a11,△≡0 )=a11
(a13,△≡170764907669145)=1293
(a17,△≡125439669002452)=52919
(a19,△≡201069937711107)=13413
(a21,△≡126048391043158)=2983
(a23,△≡0 )=a23
(a27,△≡0 )=a27
(a29,△≡0 )=a29
(a31,△≡172107688398825)=1309251
(a33,△≡178186762008365)=1
(a37,△≡129372191094438)=170889
(a39,△≡187106858810225)=7913
(a41,△≡170351619367135)=1
(a43,△≡106583145218508)=26645786304627
(a47,△≡194295343679538)=16111
(a49,△≡227190925683084)=5277471
(a51,△≡114493100185377)=1033
通过计算,由a11排列到a51的自然区段只有两个素数由小到大排列如下:
a33=239812076741633
a41=239812076741641
现任选合数a49进行素因子分解:由(a49 △)=5277471获悉:a49=45440719×5277471
分别对两个因子检测素性
(45440719 △千)=1 (素数)
(5277471 △千)=93 (合数)
进行再分解:52277471=93×56747
=3×31×56747
判断:(56747 △百)=1 (素数)
为此将a49分解如下:
A49=239812076741649
=3×31×56747×45440719(每个因子均为素数)
以上计算解答说明了素数公式不但可以对小于m²n 1的自然数进行素性判断,一锤定音的确定是素数或合数,而且还可以对合数进行素因子分解。合数分解是素性判断的逆运算,解决这两个问题的关键是如何选择△值来与自然数N进行最大公约数计算。为此,可创建一个各级△值的应用范围表,由于△值越大,应用领域越宽广,有时一个自然数N,可以同时用不同的△值进行计算都会获得结果,不论用哪一级的△值,必须满足mn<N<m²n 1的条件.就一定获得正确结论,如果不满足公式条件,有时可能导致判
断失误,选择的△值应在满足条件范围内尽量偏小`方便计算。若无△值应用范围表,建议采用“偶位折半”法和“奇位折半,取整加
1”法选择△值,比如说N=527733是六位数,折半后取百级△值计算,若N=4544079是七位数,折半后加1就取1000级△值进行判断。△值都是编入程序,随时取用。一般10万级以下的△值,计算公约数时都不需要进行模余转化,这些都是后话,限于篇幅,这里不再多作介绍。
当人类的计算机能力无法满足△值的应用需要, 比如说使用的计算机只能计算到千万级的△值,人们要了解的自然数N已超过17位数以上,我们又如何来对N进行素性判断呢或合数分解呢?这就是《定理2》为我们解决的第4个难题。
(4)构造连续,不间断的公变周期△k,以并行计算结果来判断更大的m2n 1内的自然数N的素性或获得更大数域的顺序素数。以千万级△为例:
设N>m2千万 1,因此在千万级△中,虽然(N △)=1,N未必是素数,可连续构造△k,直至N满足N<m2k千万 1止,计算程序如下
(1)连续构造{△1=[m1m2…m千万] △2=[m千万 1…m2千万] … … △k[m(k-1)千万 1…mk千万] 直至N<m(k·千万 1为止)}
(2)连续满足{(N △1)=1 (N △2)=2 … … (N △k)=1}
(3)结论:则N是一个素数。(若△k中有一个与N的最大公约数不为1,则N是一个合数)
现简单证明如下:
当我们构造△=[m1m2…m千万]时,虽然(N △1)=1,但N>m2千万 1,N有可能是全大于m千万的素因子合数,未必一定是素数,因此必须继续构造△2=[m千万 1…m2千万]时,但N>m²2千万 1,虽然(N △2)=1,我们仍未能判断N的素性,须继续构造△3=[m2千万 1…m3千万]……如此往下构造直到N<mk²千万 1,若有(N △k)=1,则N一定是素数。
构建连续,不间断的公变周期△k与N的最大公约数并行计算结果,判断N的素性,在构建过程中,只要发现(N △k)=d(ȡ≠1),则可判断N是合数,即可中止计算。这个方法弥补了人类计算机能力不足的缺陷。 证毕。
,