最大素數

2018年發現的數值

最大素數是專業術語,拼音為zuì dà sù shù,即最大的素數。網際網路梅森素數大搜索(GIMPS)項目宣布發現第 51 個梅森素數和已知最大的素數:2^82,589,933-1,共有 24,862,048 位。發現者是 GIMPS 志願者 Patrick Laroche,時間是在 2018 年 12 月 7 日。

最大素數的發展


素數也叫質數,是只能被自己和1整除的數。按照規定,1不算素數,最小的素數是2,其後依次是3、5、7、11等等。早在2500年前,希臘數學家歐幾里德就證明了素數是無限的,並提出少量素數可寫成“2的n次方減1(2^n-1)”的形式,這裡n也是一個素數。但是目前人類已知的素數很有限,因為數字越大,要發現新的素數就越困難。不過,很多數學家曾對素數問題進行過研究,17世紀的法國教士馬丁·梅森就是其中成果較為卓著的一位,因此後人將“2的n次方減1(2^n-1)”形式的素數稱為梅森素數。隨後,以梅森素數的形式,最大素數的記錄被不斷刷新。
1876年,數學家盧卡斯證明了2^127-1是當時已知的最大素數。這個記錄保持了75年,這是一個39位的數。
直到1951年,藉助於新出現的電子計算機,人們才發現有79位數字的更大素數。1952年時,最大素數是2^2,281-1,有687位數。位數在1,000位以上的素數到1961年才被發現,它是2^4,423-1,共有1332位數。從1951年到1971年的20年間,最大素數的紀錄被不斷刷新。1971年,美國數學家塔克曼在紐約州的紐克頓利用國際商業機器公司的IBM360/91型電子計算機,歷時39分26.4秒,算出了當時的最大素數2^19,937-1,這是一個6,002位的數字,它最前面的五位數是43,154,最後面的三位數是471。
1978年10月,世界幾乎所有的大新聞機構(包括中國的新華社)都報道了以下消息:兩名年僅18歲的美國高中生諾爾和尼科爾使用CYBER174型計算機找到了第25個梅森素數:M21701。
2008年8月,美國加州大學洛杉磯分校(UCLA)的計算機專家史密斯(E.Smith)通過參加了一個名為“網際網路梅森素數大搜索”(GIMPS)的國際合作項目,發現了第46個也是最大的梅森素數2^43,112,609-1,該素數也就是2自身相乘43,112,609次減1,它有12,978,189位數,如果用普通字型大小將這個巨數連續寫下來,它的長度可超過50公里!最近,這一成就被美國的《時代》雜誌評為“2008年度50項最佳發明”之一,排名在第29位。
英國《新科學家》雜誌網站報道,美國中央密蘇里大學數學教授柯蒂斯·庫珀(Curtis Cooper)領導的研究小組於2013年1月25日發現了已知的最大梅森素數——2^57,885,161-1 (即2的57,885,161次方減1);該素數有17425170位,如果用普通字型大小將它連續列印下來,它的長度可超過65公里!
據外媒報道,美國州立中密蘇里大學柯蒂斯庫珀(Curtis Cooper)通過GIMPS項目發現了第49個梅森素數 2^74,20,7281-1(被稱為M74207281),為GIMPS項目誕生20周年獻禮。
2017年12月26日,網際網路梅森素數大搜索(GIMPS)項目宣布發現第 50 個梅森素數和已知最大的素數:2^77,232,917-1,共有 23,249,425 位。該素數已被多人使用不同的硬體和軟體完成驗證。發現者是 GIMPS 志願者 Jonathan Pace,他住在田納西州的 Germantown,是一位電機工程師,他有資格獲得 3000 美元的研究發現獎。GIMPS 是一個分散式計算項目,至今已有 20 年歷史,它利用志願者的空閑 CPU 創建了一個遍布全球的超級計算機,它的 prime95 軟體此前發現了英特爾處理器的一個漏洞。
2018年12月7日,住在美國佛羅里達州奧卡拉市的Patrick Laroche也是通過GIMPS項目發現了第51個梅森素數:2^82,589,933-1(被稱為M82589933),共有24,862,048位。

梅森素數

序號素數位數發現人時間
512^82,589,933-124,862,048Patrick Laroche2018
502^77,232,917-123,249,425Jonathan Pace2017
492^74,207,281-122,338,618CurtisCooper2016
482^57,885,161-117,425,170Curtis Cooper2013
472^43,112,609-112,978,189Edson Smith2009
462^42,643,801-112,837,064Odd M. Strindmo2009
452^37,156,667-111,185,272Hans-Michael Elvenich2008
442^32,582,657-19,808,358Curtis Cooper及Steven Boone2006
432^30,402,457-19,152,052Curtis Cooper及Steven Boone2005
422^25,964,951-17,816,230Martin Nowak2005
412^24,036,583-17,235,733John Findley2004
402^20,996,011-16,320,430Michael Shafer2003
392^13,466,917-14,053,946Michael Cameron2001
382^6,972,593-12,098,960Nayan, Woltman, Kurowski1999
372^3,021,377-1909,526Clarkson, Woltman, Kurowski1998
362^2,976,221-1895,932Spence, Woltman1997
352^1,398,269-1420,921Armengaud, Woltman1996
342^125,7787-1378,632Slowinski & Gage1996
332^859,433-1258,716Slowinski & Gage1994
322^756,839-1227,832Slowinski & Gage1992
312^216,091-165,050David Slowinski1985
302^132,049-139,751David Slowinski1983
292^110,503-133,265Welsh & Colquitt1988
282^86,243-125,962David Slowinski1982
272^44,497-113,395Slowinski & Nelson1979
262^23,209-16,987L. Curt Noll1979
252^21,701-16,533Nickel & Noll1978
242^19,937-16,002Bryant Tuckerman1971
232^11,213-13,376Donald B. Gillies1963
222^9,941-12,993Donald B. Gillies1963
212^9,689-12,917Donald B. Gillies1963
202^4,423-11,332Alexander Hurwitz1961
192^4,253-11,281Alexander Hurwitz1961

雲計算的最大素數

1995 年,美國程序設計師喬治·沃特曼整理有關梅森素數的資料,編製了一個梅森素數計算程序,並將其放置在網際網路上供數學愛好者使用,這就是分散式計算網際網路梅森素數大搜索(GIMPS)項目。目前有6萬多名志願者、超過20萬台計算機參與這項計劃。該計劃採取分散式計算方式,利用大量普通計算機的閑置時間,獲得相當於超級計算機的運算能力,第 37、38 和 39 個梅森素數都是用這種方法找到的。美國一家基金會還專門設立了 10 萬美元的獎金,鼓勵第一個找到超過千萬位素數的人。

素數無限


不存在最大質數!
上小學的時候,我們就知道所有的正整數可以分為質數(素數)和合數兩類,當然還特別規定了“1既不是質數,也不是合數”。100以內的質數,從小到大依次是:2、3、5、7、11、13、17、19、……、83、89、97。不用說了,你一定背不下來。那麼質數的個數是不是有限多的呢?
(附:100以內的質數從小到大依次是:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61, 67,71,73,79,83,89,97。共計25個。)
在解決這個問題之前,我們先來看看另一個問題:怎樣判斷一個已知自然數是不是質數。比如,143是不是質數?
你一定會按照下面這個步驟去判斷:先用最小的質數2去除143,不能整除;再用3去試試,還是不行;再依次用5、7試試,還是不行;11呢?行!143=11×13,所以143不是質數,而是合數。所以,判斷一個數是不是質數,只需用比這個數小的所有質數,依次去除它即可,如果都不能整除的話,這個數就一定是質數;相反,只要這個數能夠被某一個質數整除,這個數就一定是合數。這種方法所依據的原理是:每一個合數都可以表示成若干個質數的乘積。不用說,這叫做“分解質因數”,也是小學數學的知識。
我們先假設質數的個數是有限多的,用p1,p2,……,pn表示,那麼必然存在一個“最大的質數”,設這個“最大的質數”為pn。下面我們找出從1到pn之間的所有質數,把它們連乘起來,就是:
2×3×5×7×11×13×……×pn,設為N
把這個連乘積再加上1,得到一個相當大的數M:
M=2×3×5×7×11×13×……×pn+1,即M=N+1;
那麼這個M是質數還是合數呢?
如果M為質數,因M要大於p1,p2,……,pn,所以它不在那些假設的全部素數的集合中。
如果M為合數,因為任何一個合數都可以分解為幾個素數的積;而N和M(N+1)的最大公約數是1,所以M不可能被p,p,……,p整除,所以該合數分解得到的素因數肯定不在假設的全部素數的集合中。
因此無論該數是素數還是合數,都意味著在假設的有限個素數之外還存在著其他素數。所以原先的假設不成立。也就是說,素數有無窮多個。