|
|

楼主 |
发表于 2025-12-7 18:25
|
显示全部楼层
本帖最后由 yangchuanju 于 2025-12-8 06:07 编辑
分解M67=147573952589676412927
147573952589676412927 = 193707721 * 761838257287
已经通过其它途径知道这个梅森数不是素数,
又知这个梅森数的素因子只能是2*67+1=134k+1形式的素数;
完全试除法,以M67为被除数,134k+1为除数,试除至k=144558方可除尽,试除14万4558次。
3年150个星期天,每个星期天要试除1000次,工作10小时,每小时100次左右。
如果你知道对于所有梅森数都是模8余1或7的(3除外),它们的因子也都是模8余1或7的,你可以省去一半的试除次数和时间;
2*67=134模8余6,当k=0时134k+1模8余1,当k=1,2,3,4,5,6,7,8……时134k+1模8余7,5,3,1,7,5,3,1……,余数循环出现;
不考虑模8余3和5的k值,可只取k=0,1,4,5,8,9,12,13……之值进行试除;
类似的,对于M73,2*73=146模8余2;当k=0时146k+1模8余3,当k=1,2,3,4,5,6,7,8……时146k+1模8余3,5,7,1,3,5,7,1……,余数也循环出现;
不考虑模8余3和5的k值,可只取k=0,3,4,7,8,11,12……之值进行试除;
附注:对于指数是模4余3型梅森数,它们的素因子模8余数与M67相同;对于指数是模4余1型梅森数,它们的素因子模8余数与M73相同.
Fermat方法,将数表示为两个平方数之差的形式,即n=p*q=((p+q)/2)^2-((p-q)/2)^2= ((p+q)/2)+(p-q)/2))*((p+q)/2)-(p-q)/2))=p*q
反算之,知
p 761838257287
q 193707721
(p+q)/2 381015982504
(p-q)/2 380822274783
((p+q)/2)^2 145173178923488434110016
((p-q)/2)^2 145025604970898757697089
相减 147573952589676412927
然而当时科尔要找到M67=381015982504^2-380822274783^2,容易吗? |
|