原文地址:梅森数与完全数的关系作者:北京书香教育
素数是指在大于1的整数中只能被1和其自身整除的数(如2、3、5、7等等)。素数有无穷多个,却只有极少量的素数能表示成2p-1(p为素数)的形式,这就是梅森素数。它是以17世纪法国数学家马林·梅森的名字命名。梅森素数是数论研究中的一项重要内容,自欧几里得时代起人们就开始了对梅森素数的探索。由于这种素数具有许多独特的性质(比方说和完全数密切相关)和无穷的魅力,千百年来一直吸引着众多数学家和无数的数学爱好者对它进行探究。在现代,梅森素数不但在密码编制、程序设计、分布式计算技术、计算机测试等领域有广泛的应用价值,它还是人类好奇心、求知欲和荣誉感的最好见证。
【
早在公元前300多年,古希腊数学家欧几里得就开创了研究2p-1的先河,他在名著《几何原本》第九章中论述完全数时指出:如果2p-1是素数,则 2p-1(2p-1)是完全数。
【
例如p=2,是一个质数,2^p-1=3也是质数,(2^p-1)X2^(p-1)=3X2=6,是完全数。
例如p=3,是一个质数,2^p-1=7也是质数,(2^p-1)X2^(p-1)=7X4=28,是完全数。
例如p=5,是一个质数,2^p-1=31也是质数,(2^p-1)X2^(p-1)=31X16=496是完全数。
但是2^p-1什么条件下才是质数呢?
事实上,当2^p-1是质数的时候,称其为梅森素数。到2013年2月6日为止,人类只发现了48个梅森素数,较小的有3、7、31、127等。】
【完全数
如果一个数恰好等于它的因子之和,则称该数为“完全数”[1] 。各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect
number),又称完美数或完备数。
例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数
是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。第三个完全数是496,有约数1、2、
4、8、16、31、62、124、248、496,除去其本身496外,其余9个数相加,1+2+4+8+16+31+62+124+248=496。
后面的完全数还有8128、33550336等等。
亏数
对于“4”这个数,它的真约数有1、2,其和是3,比4本身小,像这样的自然数叫做亏数。
盈数
对于“12”这个数,它的真约数有1、2、3、4、6,其和是16,比12本身大,像这样的自然数叫做盈数。所以,完全数就是既不盈余,也不亏欠的自然数。
1.所有的完全数都是三角形数
例如:
6=1+2+3
28=1+2+3+...+6+7
496=1+2+3+...+30+31
8128=1+2+3…+126+127
2.所有的完全数的倒数都是调和数
例如:
1/1+1/2+1/3+1/6=2
1/1+1/2+1/4+1/7+1/14+1/28=2
1/1+1/2+1/4+1/8+1/16+1/31+1/62+1/124+1/248+1/496=2
3.可以表示成连续奇立方数之和
除6以外的完全数,都可以表示成连续奇立方数之和,并规律式增加。例如:
28=1³+3^3
496=1^3+3^3+5^3+7^3
8128=1^3+3^3+5^3+……+15^3
33550336=1^3+3^3+5^3+……+125^3+127^3
4.都可以表达为2的一些连续正整数次幂之和
不但如此,而且它们的数量为连续质数。例如:
6=2^1+2^2
28=2^2+2^3+2^4
496=2^4+2^5+2^6+2^7+2^8
8128=2^6+2^7+2^8+2^9+2^10+2^11+2^12
33550336=2^12+2^13+……+2^24
5.完全数都是以6或8结尾
如果以8结尾,那么就肯定是以28结尾。(科学家仍未发现由其他数字结尾的完全数。)
6.各位数字辗转式相加个位数是1
除6以外的完全数,把它的各位数字相加,直到变成个位数,那么这个个位数一定是1。例如:
28:2+8=10,1+0=1
496:4+9+6=19,1+9=10,1+0=1
8128:8+1+2+8=19,1+9=10,1+0=1
33550336:3+3+5+5+0+3+6=28,2+8=10,1+0=1
7.它们被3除余1、被9除余1、1/2被27除余1
除6以外的完全数,它们被3除余1、9除余1、还有1/2被27除余1。
28/3 商9,余1
28/9 商3,余1
28/27 商1,余1
496/3 商165,余1
496/9 商55,余1
8128/3 商2709,余1
8128/9 商903,余1
8128/27 商301,余1】
早在公元前300多年,古希腊数学家欧几里得就开创了研究2p-1的先河,他在名著《几何原本》第九章中论述完全数时指出:如果2p-1是素数,则 2p-1(2p-1)是完全数。
1640年6月,费马在给马林·梅森的一封信中写道:“在艰深的数论研究中,我发现了三个非常重要的性质,我相信它们将成为今后解决素数问题的基础。”
这封信讨论了形如2p-1的数(其中p为素数)。
马林·梅森是当时欧洲科学界一位独特的中心人物,他与包括费马在内的很多科学家经常保持通信联系,讨论数学、物理等问题。17世纪时,学术刊物和科研机构还没有创立,交往广泛、热情诚挚的梅森就成了欧洲科学家之间联系的桥梁,许多科学家都乐于将成果告诉他,然后再由他转告给更多的人。梅森还是法兰西学院的奠基人,为科学事业做了很多有益的工作,被选为
“100位在世界科学史上有重要地位的科学家” 之一。[1]
梅森在欧几里得、费马等人有关研究的基础上对2p-1作了大量的计算、验证,并于1644年在他的《物理数学随感》一书中断言:在不大于257的素数中,当p=2、3、5、7、13、17、19、31、67、127、257时,2p-1是素数,其它都是合数。前面的7个数(即2、3、5、7、13、17、19)已被前人所证实,而后面的4个数(即31、67、127、257)则是梅森自己的推断。由于梅森在科学界有着崇高的学术地位,人们对其断言都深信不疑。
后来人们才知道梅森的断言其实包含着若干错漏。不过他的工作却极大地激发了人们研究2p-1型素数的热情,使其摆脱作为 “完全数” 的附庸地位,可以说梅森的工作是2p-1型素数研究的一个转折点和里程碑。由于梅森学识渊博、才华横溢、为人热情以及最早系统而深入地研究2p-1型的数,为了纪念他,数学界就把这种数称为
“梅森数”
,并以Mp记之(其中M为梅森姓名的首字母),即Mp=2p-1。如果梅森数为素数,则称之为 “梅森素数”
(即2p-1型素数)。
2300多年来,人类仅发现48个梅森素数,由于这种素数珍奇而迷人,因此被人们誉为 “数海明珠”
。自梅森提出其断言后,人们发现的已知最大素数几乎都是梅森素数,因此寻找新的梅森素数的历程也就几乎等同于寻找新的最大素数的历程。
梅森素数的探寻难度极大,它不仅需要高深的理论和纯熟的技巧,而且需要进行艰苦的计算。在梅森之前对这种类型的素数进行整理的是意大利数学家卡塔尔迪(1548~1626),他在1588年提出M17和M19是两个素数,由此光荣地成为第一个在发现者榜单上留名的人。
手算笔录的时代,每前进一步,都显得格外艰难。1772年,在卡塔尔迪之后近200年,瑞士数学家欧拉(1707~1783)在双目失明的情况下,靠心算证明了M31是一个素数,这是人们找到的第8个梅森素数,它共有10位数,堪称当时世界上已知的最大素数。欧拉还证明了欧几里得关于完全数定理的逆定理:所有的偶完全数都具有
2p-1(2p-1)的形式,其中2p-1是素数。这表明梅森素数和偶完全数是一一对应的。
100年后,法国数学家卢卡斯(1842~1891)提出了一个用来判别Mp是否是素数的重要定理——卢卡斯定理,并证明了M127是一个素数。卢卡斯的工作为梅森素数的研究提供了有力的工具。
1883年,俄国数学家波佛辛(1827~1900)利用卢卡斯定理证明了M61也是素数——这是梅森漏掉的。梅森还漏掉另外两个素数:M89和M107,它们分别在1911年与1914年被数学家鲍尔斯(1875~1952)发现。
1903年,数学家柯尔(1861~1926)第一个否定了 “M67为素数”
这一自梅森断言以来一直被人们相信的结论,算出267-1等于193707721×761838257287。1922年,数学家克莱契克(1882~1957)进一步验证了M257并不是素数,而是合数。
在手工计算的年代里,人们历尽艰辛,一共只找到12个梅森素数。
20世纪30年代,美国数学家莱默(1905~1991)改进了卢卡斯的工作,给出了一个针对Mp的新的素性测试方法,即卢卡斯-莱默检验法:Mp>3是素数当且仅当Lp-2=0,其中L0=4,Ln+1=(Ln2
-2)modMp。这一方法在 “计算机时代” 发挥了重要作用。
1952年,数学家鲁滨逊(1911~1995)将此方法编译成计算机程序,使用SWAC型计算机在几个月内,就找到了5个梅森素数:M521、M607、M1279、M2203和M2281。其后,M3217在1957年被黎塞尔(1929~
)证明是素数;M4253和M4423在1961年被赫维兹(1937~
)证明是素数。
1963年,美国数学家吉里斯(1928~1975)证明M9689和M9941是素数。
1963年6月2日晚上8点,第23个梅森素数M11213通过大型计算机被找到。发现这一素数的美国伊利诺伊大学数学系全体师生感到无比骄傲,以致于把所有从系里发出的信件都敲上了
“211213-1是个素数” 的邮戳。
超级计算机的引入加快了梅森素数的寻找步伐,但随着指数p值的增大,每一个梅森素数的产生反而更加艰难。1971年3月4日晚,塔克曼(1915~2002)使用IBM360-91型计算机找到新的梅森素数M19937。而到1978年10月,世界几乎所有的大新闻机构(包括中国的新华社)都报道了以下消息:两名年仅18岁的美国高中生诺尔(1960~
)和尼科尔使用Cyber-174型计算机找到了第25个梅森素数:M21701。
1979年2月,诺尔找到第26个梅森素数M23209。
伴随数学理论的改善,为寻找梅森素数而使用的计算机也越来越强大,包括了著名的IBM360型计算机和超级计算机Cray系列。1979年4月,史洛温斯基使用Cray-1型计算机找到梅森素数M44497。使用经过改进的Cray-XMP型计算机在1982年至1985年间找到了3个梅森素数:M86243、M132049和M216091。但他未能确定M86243和M216091之间是否有异于M132049的梅森素数。
1988年,科尔魁特和韦尔什使用NEC-SX2型超高速并行计算机果然发现M110503。沉寂4年之后,哈威尔实验室(英国原子能技术权威机构)的一个研究小组宣布他们找到梅森素数M756839。
1994年1月10日,史洛温斯基和盖奇再次夺回发现已知最大素数的桂冠——这一素数是M859433。而下一个梅森素数M1257787仍是他们的成果,史洛温斯基由于发现7个梅森素数,而被人们誉为
“素数大王”
。1996年发现的M1257787是迄今为止最后一个由超级计算机发现的梅森素数,数学家使用了Cray-T94,这也是人类发现的第34个梅森素数。
使用超级计算机寻找梅森素数实在太昂贵了,而且可以参与的人也有限,网格这一崭新技术的出现使梅森素数的搜寻又重新回到了
“人人参与”
的大众时代。90年代中后期,在美国程序设计师沃特曼和库尔沃斯基等人的共同努力下,成立了世界上第一个基于互联网的分布式计算项目——因特网梅森素数大搜寻(GIMPS)。人们只要在GIMPS的主页上下载一个计算梅森素数的免费程序,就可以立即参加该项目来搜寻新的梅森素数。
1999年6月1日,美国密歇根州普利茅茨
的数学爱好者哈吉拉特瓦拉通过该项目找到第38个梅森素数26972593-1,这也是人们知道的第一个位数超过一百万位的素数。如果把它写下来的话,共有2098960位数字。
2008年8月23日,美国加州大学洛杉矶分校的计算机专家史密斯首次发现超过一千万位的梅森素数243112609-1,它有12978189位数,如果用普通字号将这个巨数连续写下来,它的长度可超过50公里!这一成就被美国的《时代》杂志评为
“2008年度50项最佳发明” 之一,排名在第29位。[2]
2013年1月25日,美国中央密苏里大学数学教授柯蒂斯·库珀领导的研究小组发现了已知的最大素数257885161-1,是第48个梅森素数。该素数有17425170位,如果用普通字号将它连续打印下来,它的长度可超过65公里!这一已知最大素数的发现被《新科学家》周刊评为
“2013年自然科学十大突破”
之一。[3]
注:图中人物 1 欧几里得 2 卡塔尔迪 3 欧拉 4 卢卡斯 5 波佛辛 6 莱默 7
鲁滨逊 8 吉里斯 9 诺尔 10 史洛温斯基 11 周海中 12 盖奇 13 沃特曼 14 库尔沃斯基 15 哈吉拉特瓦拉 16
库珀 17 史密斯
4梅森素数表编辑
截至2014年2月,已经发现48个梅森素数,并且确定M30402457位于梅森素数序列中的第43位。现把它们的序号、数值、发现时间、发现者等列表如下:
序号 | p | Mp | Mp的位数 | 发现时间 | 发现者 |
---|---|---|---|---|---|
1
|
2
|
3
|
1
|
古代
|
古人
|
2
|
3
|
7
|
1
|
古代
|
古人
|
3
|
5
|
31
|
2
|
古代
|
古人
|
4
|
7
|
127
|
3
|
古代
|
古人
|
5
|
13
|
8191
|
4
|
1456
|
无名氏
|
6
|
17
|
131071
|
6
|
1588
|
Pietro Cataldi
|
7
|
19
|
524287
|
6
|
1588
|
Pietro Cataldi
|
8
|
31
|
10
|
1772
|
Leonhard Euler
|
|
9
|
61
|
2305843009213693951
|
19
|
1883
|
Ivan Mikheevich Pervushin
|
10
|
89
|
618970019642690137449562111
|
27
|
1911
|
Ralph Ernest Powers
|
11
|
107
|
162259276829213363391578010288127
|
33
|
1914
|
Ralph Ernest Powers
|
12
|
127
|
170141183460469231731687303715884105727
|
39
|
1876
|
Édouard Lucas
|
13
|
521
|
6864797660130609714…2574028291115057151
|
157
|
1952 / 01 / 30
|
Raphael Mitchel Robinson
|
14
|
607
|
5311379928167670986…0835393219031728127
|
183
|
1952 / 01 / 30
|
Raphael Mitchel Robinson
|
15
|
1,279
|
1040793219466439908…0710555703168729087
|
386
|
1952 / 06 / 25
|
Raphael Mitchel Robinson
|
16
|
2,203
|
1475979915214180235…0419497686697771007
|
664
|
1952 / 10 / 07
|
Raphael Mitchel Robinson
|
17
|
2,281
|
4460875571837584295…4133172418132836351
|
687
|
1952 / 10 / 09
|
Raphael Mitchel Robinson
|
18
|
3,217
|
2591170860132026277…6160677362909315071
|
969
|
1957 / 09 / 08
|
Hans Riesel
|
19
|
4,253
|
1907970075244390738…6034687815350484991
|
1,281
|
1961 / 11 / 03
|
Alexander Hurwitz
|
20
|
4,423
|
2855425422282796139…0231057902608580607
|
1,332
|
1961 / 11 / 03
|
Alexander Hurwitz
|
21
|
9,689
|
4782202788054612029…8992696826225754111
|
2,917
|
1963 / 05 / 11
|
Donald Bruce Gillies
|
22
|
9,941
|
3460882824908512152…9426224883789463551
|
2,993
|
1963 / 05 / 16
|
Donald Bruce Gillies
|
23
|
11,213
|
2814112013697373133…7391476087696392191
|
3,376
|
1963 / 06 / 02
|
Donald Bruce Gillies
|
24
|
19,937
|
4315424797388162648…6741539030968041471
|
6,002
|
1971 / 03 / 04
|
Bryant Tuckerman
|
25
|
21,701
|
4486791661190433347…7410828353511882751
|
6,533
|
1978 / 10 / 30
|
Landon Curt Noll & Laura Nickel
|
26
|
23,209
|
4028741157789887781…6743355523779264511
|
6,987
|
1979 / 02 / 09
|
Landon Curt Noll
|
27
|
44,497
|
8545098243036338031…4867686961011228671
|
13,395
|
1979 / 04 / 08
|
Harry Lewis Nelson & David Slowinski
|
28
|
86,243
|
5369279955027563215…9857021709433438207
|
25,962
|
1982 / 09 / 25
|
David Slowinski
|
29
|
110,503
|
5219283133417550597…9951621083465515007
|
33,265
|
1988 / 01 / 28
|
Walter Colquitt & Luke Welsh
|
30
|
132,049
|
5127402762693207238…2138578455730061311
|
39,751
|
1983 / 09 / 20
|
David Slowinski
|
31
|
216,091
|
7460931030646613436…1336204103815528447
|
65,050
|
1985 / 09 / 06
|
David Slowinski
|
32
|
756,839
|
1741359068200870973…2603793328544677887
|
227,832
|
1992 / 02 / 19
|
David Slowinski & Paul Gage
|
33
|
859,433
|
1294981256042076496…2414267243500142591
|
258,716
|
1994 / 01 / 10
|
David Slowinski & Paul Gage
|
34
|
1,257,787
|
4122457736214286747…1257188976089366527
|
378,632
|
1996 / 09 / 03
|
David Slowinski & Paul Gage
|
35
|
1,398,269
|
8147175644125730751…5532025868451315711
|
420,921
|
1996 / 11 / 13
|
GIMPS / Joel
Armengaud
|
36
|
2,976,221
|
6233400762485786498…6506256743729201151
|
895,932
|
1997 / 08 / 24
|
GIMPS / Gordon Spence
|
37
|
3,021,377
|
1274116830300933674…5422631973024694271
|
909,526
|
1998 / 01 / 27
|
GIMPS / Roland Clarkson
|
38
|
6,972,593
|
4370757441270813788…5366526142924193791
|
2,098,960
|
1999 / 06 / 01
|
GIMPS / Nayan Hajratwala
|
39
|
13,466,917
|
9249477380067013222…0073855470256259071
|
4,053,946
|
2001 / 11 / 14
|
GIMPS / Michael Cameron
|
40
|
20,996,011
|
1259768954503301050…4714065762855682047
|
6,320,430
|
2003 / 11 / 17
|
GIMPS / Michael Shafer
|
41
|
24,036,583
|
2994104294041571720…7436921882733969407
|
7,235,733
|
2004 / 05 / 15
|
GIMPS / Josh Findley
|
42
|
25,964,951
|
1221646300612779481…8933257280577077247
|
7,816,230
|
2005 / 02 / 18
|
GIMPS / Martin Nowak
|
43
|
30,402,457
|
3154164756188460809…1134297411652943871
|
9,152,052
|
2005 / 12 / 15
|
GIMPS / Curtis Cooper & Steven Boone
|
44*
|
32,582,657
|
1245750260153694554…1752880154053967871
|
9,808,358
|
2006 / 09 / 04
|
GIMPS / Curtis Cooper & Steven Boone
|
45*
|
37,156,667
|
2022544068909773355…1340265022308220927
|
11,185,272
|
2008 / 09 / 06
|
GIMPS / Hans-Michael Elvenich
|
46*
|
42,643,801
|
1698735164527416224…4101954765562314751
|
12,837,064
|
2009 / 04 / 12
|
GIMPS / Odd Magnar Strindmo
|
47*
|
43,112,609
|
3164702693302559231…0022181166697152511
|
12,978,189
|
2008 / 08 / 23
|
GIMPS / Edson Smith
|
48* | 57,885,161 | 5818872662322464421…6141988071724285951 | 17,425,170 | 2013 / 01 / 25 | GIMPS / Curtis Cooper |
注:目前还不确定在M30402457和M57885161之间是否还存在未知梅森素数,其后的序号用
* 标出。

