寻找一个亿位的素数
张硕还是第一次做这种研究,发现想找研究的入手点很不容易。
亿位的素数,首先必定是一个位数过亿的数字,而位数过亿的数字中,最小的数字是10的99,999,999次方。
数字大到如此地步,用常规方法去测定素性牵扯的计算量会庞大到无法估量,最高端的计算机性能也根本是杯水车薪。
所以,必须要找特殊的数字。
梅森数就是‘特殊数字’中最容易测定素性的,直到目前为止,已知最大素数排行榜的前几位都是梅森素数。
梅森数,也就是‘2的n次方-1’,因为其具有的特殊性质,可以用卢卡斯-莱默检验法来进行素性测定。
卢卡斯-莱默检验法是专门针对梅森数进行一种循环检测的方法。
这种方法让梅森数的素性检验大大的简化,比如,检测数字‘2的n次方-1’的素性,只需要进行‘n-2’次循环计算就可以得到结果。
当然,针对亿位数字来说,每进行一次计算都需要庞大的计算量,而进行分析也不可能针对亿位数字本身。
“所以,还是只能对幂数n进行研究”
在所有的梅森数中,梅森素数占据的比例极少,出现也没有什么规律可言,研究入手点也只能从幂数n进行分析。
首先,要让梅森数高于亿位,幂数n就必须大于3.32192(log2(10))亿。
其次,n必须是素数,只有n是素数,对应的梅森数才可能是梅森素数。
然后
“氪币!”
科研币-1。
在进行了科币操作以后,马上知道了下一步的大方向——概率筛选!
用概率判定的方法,筛选大于‘3.32192亿’的素数,有素数n对应梅森素数的可能性低,就直接排除掉。
梅森素数没什么规律可言,筛选方法自然也充满了‘主观性’。
也就是说,筛选过程并不严谨。
当然,也根本没什么影响,研究的目标就是找到‘一个亿位素数’,只要筛掉的不是亿位素数对应的n就没影响。
张硕开始‘闭关’了。
他在办公室里一闷就是一整天。
谭友铭和苏炳康一起站在楼梯口,他有些担心的说着,“张硕做研究有点儿太投入了,最近长期一