古希腊数学家欧几里德就已证明素数有无穷多个,并提出一些素数可写成“2P-1”(其中指数P也是素数)的形式,其中17世纪法国数学家、法兰西科学院奠基人马林·梅森(Martin Mersenne)是其中成果较为卓著的一位,因此数学界将“2P-1”型的素数称为“梅森素数”。
1772年,欧拉在双目失明的情况下,靠心算证明了231-1(即2147483647)是第8个梅森素数,这个记录一百多年内都没有人打破。下面是欧拉证明素数有无穷多个的过程,但是梅森素数是否有无穷多个还没有人能证明。
假使素数p1,p2,p3……pn只有那么多个,现在有新数p=p1*p2*p3*……pn + 1,可见p无法被p1,p2,p3……pn任意一个整除,所以p是素数,那就和素数只有n个矛盾了,所以素数有无穷多个。
1996年,乔治·沃特曼编制了一个梅森素数计算程序,后来发展成为GIMPS(Great Internet Mersenne Prime Search,你可以从上面找到最新的第48个梅森素数发现的信息)项目,在超级计算机尝试之后,希望借助互联网和分布式计算的力量,寻找更大的梅森素数(现在已经有超过180个国家的近一百万台计算机参与计算)。
在寻找梅森素数的过程中,并不是漫无目的的。很容易证明,如果 2P-1 是素数,则 P 也一定是素数(这样我们就首先可以列出一个“可疑梅森素数清单”,进一步的计算原理可以在这里找到),证明如下:
假设2P-1 是素数的情况下,p却是合数,那么令p=r*s,r和s都是大于1的正整数,那么 xrs-1 就可以拆解成 xs-1 乘以 xs(r-1) + xs(r-2) + … + xs + 1。所以,如果p是合数的话,2p-1 也会是合数(因为它可以拆出 2s-1 的因子来),这与假设命题不符,所以p就只能是素数了。
值得注意的是,对于n>1,因为 x-1 可以整除 xn-1 ,所以如果要 xn-1 为素数的话,x-1 就必须等于1了,所以x就只能是2了。那么,就可以得到如下推论:
如果a和n都是大于1的正整数,如果 an-1 是素数的话,那么a就只能是2,而且n必须为素数。
美国中央密苏里大学数学教授Curtis Cooper领导的研究小组于一周前的1月25日发现了已知的最大梅森素数——257885161−1(即2的57885161次方减1);该素数有17425170位,如果用普通字号将它连续打印下来,它的长度可超过65公里。
梅森素数的分布极不规则,连找到梅森素数的时间分布都极不规则,有时许多年未能找到一个,而有时则一下找到好几个,探索梅森素数的分布规律似乎比寻找新的梅森素数更为困难。中国的业余数学家周海中在1992年给出了梅森素数分布的精确表达式(“周氏猜测”):
对于素数p和梅森素数 Mp=2P-1 ,当 22^n<p<22^(n+1) 时,Mp有 2n+1-1 个;
推论:当 p<22^(n+1) 时,Mp有 2n+2-n-2 个。
梅森素数是测试计算机速度的一个有力工具,实际上寻找梅森素数的过程也推动了分布式计算的发展(数学这样的基础学科在寻找当前实际意义的时候往往如此,但是谁也无法预料对于未来的工程学科的发展能有多重大的意义),在实际领域,梅森素数也可以用来加密数据。由于把两个非常大的数相乘很容易,但是如果要把一个非常大的数分解,将是非常困难的,在这种加密设计中,要使用很大的素数,素数越大,理论上越不容易被破译。
文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》
相关推荐
利用python3实现求一个数的反向数;判断一个数是否是回文数;判断是否是回文素数,反素数,梅森素数,双素数。
梅森素数的倒数之和收敛到0.51645417894078856533···,这是素数的无限子集的一个例子,素数的倒数和是有限的并且可以精确计算。 该值大于,是素数的完美幂的集合。
小学数学数学故事梅森素数:第47个梅森素数被发现
如果一个梅森数是素数,则称其为梅森素数。例如22-1=3、23-1=7都是梅森素数。 当n=2,3,5,7时,Mn 都是素数,但n=11时,Mn=M11=211-1=2047=23X89,显然不是梅森素数。 1722年,瑞士数学大师欧拉证明了231-1=...
CS1200-计算第八个梅森素数。 给定的MATLAB代码是这样的: clear ; clc ; close all ; format compact ; tol = 1e- 10 ; nlimit = 2000000000 ; primelist = primes(nlimit); nprimes = length(primelist) fprintf( ...
蓝桥杯学习资料大全-题目参考代码-梅森素数
我尝试生成和验证任意大的梅森素数。 当前最大的: M(859433)== 2 ^ 859433-1(258716位)(纯Python3) 梅森素数: 维基百科,自由的百科全书 已知最大术语2 ^ 77,232,917 − 1(2017年12月) OEIS索引A000668...
小学数学数学故事梅森素数:千年不休的探寻之旅
小学数学数学故事梅森素数:千年不休的探寻之旅2
小学数学数学故事梅森素数:千年不休的探寻之旅3
第41个梅森素数已被发现 (2004年)
用梅森素数期实现64位最大均衡分布的F 2线性生成器 什么是MELG-64? 64比特M aximallyëquidistributed F 2 L - inear与梅森素数周期(MELG-64)G enerators是64位梅森-倍捻机型伪随机数生成器2014和2017之间产生,...
但找到一个梅森素数的几率小之又小,就算你拥有当今性能最强劲的处理器也要通过少则几个月长则几年的计算才能计算出一个结果,往往经过这么长时间的计算出来的却不是一个梅森素数,这就意味着您几个月甚至几年的努力...
一-BASIC 3 IO挂 3 快速乘法 3 快速幂 3 进制转换(包括负进制)概念 3 一个数二进制1的个数 3 ...梅森素数 8 筛可以表示成x^2+(x+1)^2的素数 9 高斯整数环与高斯素数 10 n!中素数y的个数 10 筛1~n的因子个数O(n) 10
4 梅森素数:数学海洋中的璀璨明珠 4.1 由 来 4.2 梅森素数的意义和价值 4.3 历史的艰辛与趣闻 4.4 周海中猜想 4.5 未来之路 4.6 其他 5 费尔马大定理 5.1 费尔马大定理的由来 5.2 艰难的历史过程 5.3 最后...
素数是编程中经常需要用到的。 作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算。 #coding:utf-8 #设置python文件的编码为utf-8,这样就可以写入中文注释 def ...
效果和Prime95一样,不同的是去掉了Prime95联网计算功能(分布式计算寻找梅森素数) 操作界面比Prime95方便且人性化. 另外如果你的系统里面安装了MBM5这个软件,在测试中直接通过SP2000的调取 就可以随时的知道测试时CPU...
Prime95是一款运行于Windows中的开源软件,由寻找梅森素数的分布式计算项目GIMPS的乔治·沃特曼编写。 Prime95的另外一个作用是用于测试计算机系统的稳定性。由于该软件需要进行大量的运算工作,所以可以有效的测试...
如果您要对GpuOwl进行源代码更改,请阅读梅森素数梅森数字是2 p -1形式的数字。 其中一些是质数,称为Mersenne素数。 最大的已知梅森素数是巨大的数。 他们很难找到,发现新的梅森素数是一个值得注意的成就。 在...