|
本帖最后由 ysr 于 2019-10-25 00:42 编辑
我们知道,梅森素数的判定用到卢卡斯莱默法,即递推数列:
S0=4,SN=S(N-1)^2-2,(程序可以这样写:S=4,S=S^2-2)每项MOD梅森数MP,若P-1项中有一项余数为0,则MP为素数,数列的数据增长太快,一般的是用前一项的余数的平方再-2来做为后一项来判断,这个可以证明是成立的。就是通项为S=(S MOD MP )^2-2,再判断S MOD MP 是否为0.
一般的,最多算P-1项就可以判定了,但偶有多于P-1项的,我们知道M31, M61, M127,均为素数,都是再P-1项内有一项余数为0.
而M89,M107也是素数,即2^89-1, 2^107-1为素数,但我算到P-1项了也没有出现0,咋的?
M107我算到了531项仍没有0,下面是结果:
2*2 余数14(1)
余数194(2)
余数37634(3)
余数1416317954(4)
余数2005956546822746114(5)
余数156120930203037441284156977127648(6)
余数152282864163660368507561255168699(7)
余数47447063325743411265488043955091(8)
余数43287419946592085122216771611854(9)
余数106477326326110909025981918810156(10)
余数122200248887230353105527523639491(11)
余数50073478326742071230643596151387(12)
余数9912018842522041816691947570056(13)
余数144082464553298142018801477786191(14)
余数127781097009807135354769843783776(15)
余数19865605180708016931827618234573(16)
余数126001631995377209250110255169626(17)
余数103243838630237208150182388486360(18)
余数2481353674900545210534841866705(19)
余数55151464703944115846884233853704(20)
余数46640632180243506476400131739360(21)
余数115502421482719876951998627283283(22)
余数101677279631846103912030626574990(23)
余数8135446140792271386405942601304(24)
余数38622534116872975383553690253955(25)
余数138687958258713295028352899050123(26)
余数101684766863586559292966101643524(27)
余数89041899733974281215131053478077(28)
余数138984160208051922360616592379759(29)
余数99401426611283177215508787148266(30)
余数81567083478699448160797146240296(31)
余数86172052844324193814322846796682(32)
余数115029899827700867874184426416093(33)
余数34577546807147649258106085957113(34)
余数27636075425625865458892944728269(35)
余数116300088085932994464683846957963(36)
余数66757088004907936741912803360332(37)
余数111215824090137511974979806285616(38)
余数157791670760860777359454827334058(39)
余数71076754939510086689558055872925(40)
余数82593123790529186151461606226271(41)
余数140194214821380925312038994078704(42)
余数124699805910449381729146324548104(43)
余数73160767872744201314362872678391(44)
余数108343652009015051652243262672592(45)
余数150606156954816655646541920048979(46)
余数104011373699404012445485246756557(47)
余数27239940835850812419441697006844(48)
余数61778276341233473507085733899401(49)
余数134311191866731143548202175648786(50)
余数10773861442571128428222274085141(51)
余数158430744480480682784702719931537(52)
余数104144454015966536007109390877727(53)
余数137601464755404943762959164710747(54)
余数97873030465277892718507046488834(55)
余数54231410178141160096912586172196(56)
余数160524880352550922678881225239016(57)
余数80847613439977397379341735887132(58)
余数25567630783628963035239643460063(59)
余数51338176873153842117224102923906(60)
余数103826792628657227657023228523894(61)
余数17056864661047888861147916452770(62)
余数9321666676951977236827522283068(63)
余数143256845526599710045452856450340(64)
余数137035107916901927508289839918463(65)
余数29840177088752954411017471600456(66)
余数86129626194819628502243747655237(67)
余数55184468067321898614231241736441(68)
余数64344131372416926245606406632607(69)
余数152176364258942830041434456900585(70)
余数136445594253029853465295553927851(71)
余数46831071480318038161030555544727(72)
余数29472271356397161700733621014507(73)
余数29357152428406980333013801620272(74)
余数130647207921043150645807424108405(75)
余数106228888764401589473264093711241(76)
余数127323762311616017529673676600762(77)
余数83759485083342218721460938597789434177270140107040001821149268769(78)
余数143872068286786211806733376159008(79)
余数13483046135336654672222201345048(80)
余数19265738375067846971870212576808(81)
余数33101340922096497251160969622911(82)
余数87411675681251104988404856915684(83)
余数140961630237528723765679743405216(84)
余数108116862820602349522147862732169(85)
余数8810089489924455450781092275376(86)
余数59395875446335664996463686365082(87)
余数17316656363107629080070134720988(88)
余数80046015195634180648755509222428(89)
余数8294400707239029986139818568805936863424818737895253339188503309(90)
余数108862036157753897190351375023764(91)
余数126984813705669741553350708843062(92)
余数83673287546020977161475320658054895183185778564366565464555823969(93)
余数3671585181045273949063681471372(94)
余数18636377143746466678001791821736(95)
余数27201974833071509967330850974748(96)
余数79998472135511026797101977925087(97)
余数38639867158985051652743405370060(98)
余数15207556938411595050840381351563(99)
余数118005192890845628472777540103170(100)
|
|