03 完美的和不那么完美的数 Perfect and Not So Perfect Numbers(1 / 1)

数的完美性

对于取值小的数,我们通常能轻易找到特殊的性质来刻画它们,比如,3是唯一等于之前所有数之和的数,而2是仅有的偶素数(这使得它成为最怪异的素数)。6这个数有个独一无二的性质,它既是所有小于自身的因数的和,也是它们的乘积:6=1+2+3=1×2×3。

毕达哥拉斯学派(Pythagoreans)将6这样的数称作完美的[1](perfect),意思是这个数是其所有真因数之和。对于一个数,我们把严格小于这个数本身的因数叫作它的真因数。这种完美性着实非常罕见。前5个完美数是6, 28, 496, 8128和33 550 336。对于这些偶的完美数我们已经了解了很多,然而直至今日,依然没有人能回答古代人提出的基本问题,即是否有无穷多个这类特殊的数。另外,没有人找到过一个奇的完美数,也没有证明其不存在。任何奇完美数必然极其地大,并且由于奇完美性,这个数必须满足一长串特殊的性质。但是,所有这些限制条件还不足以排除这样一个数存在的可能——可以想象,这些特殊性质会引导我们去搜寻还未曾现身的第一个奇完美数,它可能只是在等着被发现。

欧几里得早就发现,偶完美数与一列非常特殊的素数有紧密的联系。它们被称为梅森素数(Mersenne primes),是以17世纪的法国教士马兰·梅森(Marin Mersenne)命名的。

梅森数(Mersenne number)是形如2p-1的数,这里的p是一个素数。举个例子,如果你取前四个素数2,3,5和7,那么可以看出前四个梅森数是:3,7,31和127。读者朋友可以很快验证它们都是素数。如果p非素,比方说p=ab,那么m=2p-1当然也不是素数,因为可以验证在这种情况下m含有因数2a-1。倘若p为素,则对应的梅森数常常是素数,至少在我们看来是这样的。

早在公元前300年,欧几里得就阐释过:一旦你有一个素的梅森数,那么就存在一个与之对应的完美数,即P=2p-1(2p-1)。读者朋友可以迅速验证,前四个梅森素数确实给出上面所说的前四个完美数。例如,用第三个素数5作为种子,我们得到完美数P=24(25-1)=16×31=496,即前述列表里第三个完美数。P的因数是直到2p-1的2的各次幂,以及这些数乘上素数2p-1。现在剩下要做的就只是一项练习了:将所谓的几何数列(geometric series,将在第5章中解释)求和,以便检查P的真因数之和确实是P。

在18世纪,伟大的瑞士数学家莱昂哈德·欧拉(Leohard Euler)进一步地证明了上述论断的逆命题,即每一个偶完美数都属于这一类型。这样,欧几里得和欧拉共同建立了一个梅森素数和偶完美数之间的一一对应关系。可是自然地,下一个问题出现了:所有的梅森数都是素数吗?很遗憾,并非如此。失败仅咫尺之遥,因为第五个梅森数等于211-1=2047=23×89。的确,我们甚至不知道梅森素数的数列是否会终结——也许最终,在某个点之后所有的梅森数都是合数。

尽管如此,梅森数依然是素数的天然候选,因为可以证明,一个梅森数m的任何真因数——假如存在的话——拥有2kp+1这样的特定形式。比如,当p=11,借助这个结论,我们只需检验被形如22k+1的素数除的情况。这两个素因数23和89,分别对应于值k=1和k=4。这个关于梅森数因数的事实还带来一个意外之喜,它提供第二种方法,使我们看出一定存在无穷多素数。因为它表明,2p-1的最小素因数大于p,因而p不可能是最大的素数。由于这适用于任意素数p,我们可以推断不存在最大的素数,于是素数数列可以永远延续下去。

不那么完美的数

传统上人们对数的认识往往集中在单个数上,这些数被认为有特殊的甚至是奇妙的性质,就比如说完美数。不过,220和284是一对拥有类似特征的数。它们是第一对相亲数[3](amicable pair),意思是每个数的真因数之和等于另一个——这是推广到数对的一种完美性。法国著名的业余数学家皮埃尔·德·费马(Pierre de Fermat)找到了其他的相亲数,如17 296和18 416,而欧拉更是发现了好几十对。出人意料的是,他们都漏掉了一对小数,1184和1210,这是由16岁的尼可罗·帕格尼尼(Nicol吀 Paganini)在1866年发现的。当然,我们还可以走得比数对更远一些,去寻找完美的三元数组、四元数组等。更长的循环比较罕见,但仍会出现。

我们可以从任何数出发,找到它真因数之和,接着继续重复这一过程,从而得到所谓的真因数和数列(aliquot sequence)。结果通常是令人失望的,因为我们一般会得到一条迅速抵达1的链,然后这个过程就终止了。举例说,即便是从一个看起来很有希望的数开始,比如12,链条还是很短:

12→(1+2+3+4+6)=16→(1+2+4+8)=15

→(1+3+5)=9→(1+3)=4→(1+2)=3→1.

困难在于,一旦你碰上一个素数,就结束了。完美数当然是例外,它们都会给我们一个循环,而相亲数则给我们一个双循环:220→284→220→…。

能产生超过两个元素的循环的数叫作多亲的(sociable),相关研究直到20世纪才开始,因为那之前它们从没有被人发现过。甚至今天,还没有生成三元环的多亲数被找到,虽然现在已经知道了120个四元环数链。最早的一些例子是由P·普莱(P. Poulet)在1918年找到的。第一个是一个五元环数链:

12 496→14 288→15 472

→14 536→14 264→12 496.

普莱的第二个例子令人惊叹,时至今日还没发现其他能与之比肩的数链:从14 316开始,我们得到一个长度为28的循环。所有其他已知的循环长度均小于10。到今天,关于相亲数和多亲数,还没有像欧几里得和欧拉关于完美数那样漂亮的定理。不过,由于现代强大的计算能力,这类问题经历了一次由数值实验推动的复兴,人们也得出了一些新的结论。

根据一个数的真因数之和是小于、等于,还是大于这个数本身,我们可以将所有数划分为三类:亏的(deficient)、完美的(perfect)和盈的(abundant)。比如,就像我们已经看到的,12是一个盈数,18和24也是,因为它们的真因数之和分别为21和36。

在整数中进行初步的搜索,你可能由此猜测盈数也就是6的倍数而已。当然,任何大于6的形如6n的数都是盈的,因为6n的因数一定包含1, 2,3以及n, 2n, 3n,这些加起来大于原来的数6n。但是,这一观察也可以被推广到不仅限于6的倍数,因为我们可以将同样的推理应用于任何完美数k。nk的因数将含有1,以及完美数k的所有因数乘上n所得出的数,于是nk的所有真因数加起来至少会得1+nk。所以,任何完美数的倍数都是盈的。例如,28是完美的,因而2×28 = 56, 3×28 = 84等都是盈的。

因此我们看到,完美数的倍数是盈数,同样的道理,盈数的倍数也一样。发现了这一点之后,你或许仍然会猜测,所有的盈数只是完美数的倍数。然而,你不用看太远,就会找到这个猜想的第一个例外,70是盈的,但它的因数没有一个是完美的。70是第一个所谓的奇异数(weird number),不过不是因为上述原因(这个名字的源头下面会解释)。

有了这些发现,你可能还会认为,因为似乎不存在奇完美数,所以很可能也不存在奇盈数。换句话说,进一步的猜想可能变成了所有奇数都是亏的。倘若计算前几百个奇数的真因数和,似乎可以确证这一理论,但是这个说法最终还是被发现是错的。检验一下945,它的真因数和为975。现在,洪水的闸门被打开了,因为一个盈数的任意倍数都是盈的,所以945的奇数倍立刻给我们提供了无穷多奇盈数。

比起不假思索地逐个检验奇数,要是我们再精明一点的话,可能会更快地发现这个反例。要想一个数有很大的真因数和,它需要很多因数,其中还要包含大因数,这些大因数又是由小因数配对在一起产生的。于是我们可以通过将小素数乘起来构造具有大真因数和的数。如果我们只关心奇数,那么我们应该看由前几个素数——3,5,7等——构成的乘积。这个粗略的准则会很快使你检验到33×5×7=945,于是你也就在奇数中找到了盈性。

有时我们会发现,具有某些性质的数里,最小的也有很大的值,这种情况并不少见。尤其是当想找的数需要有某种因数结构,这种结构是由你想要的性质决定的。于是那个最小的数可能极其大,不过如果我们在求解过程中利用给定的性质的话,它并不一定很难找到。这种数谜的一个例子是找到一个数,它既是一个立方数的5倍,又是一个五次方数的3倍。答案是

7 119 140 625=5×11253=3×755.

不过,并不难看出,为什么最小的答案都有数十亿这么大的值。任何解n都得是3r5sm这样的形式,r和s是正幂次,剩下的素因数被归总在整数m里,m不能被3或5整除。如果我们首先关注r的可能取值,可以观察到,由于n是一个立方数的5倍,指数(exponent)r一定是3的倍数。同时由于n是一个五次方的3倍,数r-1必为5的倍数。同时满足这两个条件的最小r是r=6。同样的,指数s一定是5的倍数,而s-1必须是3的倍数,最小的可行的s是s = 10。为了让n越小越好,我们取m=1,因此n=36×510=3(3×52)5=3×755,于是n确实是一个五次方的3倍。同时n=5(32×53)3=5×11253,所以n也是一个立方数的5倍。

一个更极端的例子是著名的牛群问题(Cattle Problem),它是由古代最伟大的数学家阿基米德(Archimedes)提出的。但直到19世纪这个问题才被解决。要满足最初的44行诗中提出的所有限制条件,最小的牛群数量是一个超过200 000位的数!

上面这些讨论给了我们一条警示,那就是只有我们进入非常大的数的领域,数才会展示出它们全部的多样性。出于这个原因,仅仅是不存在少于300位的奇完美数这个事实,并不能说明它们“很可能”不存在。当然,假如真有一个出现了,这个领域内第一流的专家们也会大吃一惊。

让我们再次回到真因数和数列的一般行为这个话题上。我们还可以提出一些简单的问题,却仍然没有人回答得了。真因数和数列可能的情形有哪些?如果这个数列遇上一个素数,那么在这之后它将立即终止于1,其实它也不会以任何其他方式终止。如果这没有终止,这个数列可能是循环的,从而代表了一组多亲数。但是,还有另外一种与之相关的可能性,我们可以通过计算95的真因数和来揭示:

95=5×19→(1+5+19)=25

=5×5→(1+5)=6→6→6→….

在这个例子里,虽然95本身不是一个多亲数,但它的真因数和数列最终碰到一个多亲数(更准确地说是完美数6),接着进入了一个循环。

可以设想,还存在一种可能性:一个数的真因数和数列永不遇见一个素数或多亲数。此时,这个数列必然是一个由不同数组成的无穷数列,其中没有一个是素的或多亲的。这可能吗?令人吃惊的是,没人知道。更惊人的是,存在一些小的数,它们的真因数和数列竟然还是未知的(因此它们可能拥有此类无穷真因数和数列)。这些谜一样的数中的第一个是276,它的真因数和数列由以下的数开始:

276→396→696→1104→1872→3770

→3790→3050→2716→2772→….

但是没有人确切地知道它最后会变成什么样。

这与前面列出的276的真因数和数列的第二项相等。

对于与真因数和函数具有某种关系的数n,只需要通过给它们起个名字,我们便可以引入无穷多类的数。就像之前提到的,当a(n)=n时n是完美的,当a(n)>n时n是盈的。一个半完美数(semiperfect number)n是等于自己部分真因数(小于n)之和的数,因而由定义可以推出,所有半完美数不是完美的就是盈的。比如,18是半完美的,因为18=3+6+9。当一个数是盈数但不是半完美的,它被称作奇异的(weird),最小的奇异数是70。

你可能会认为,这个话题变得过于琐碎了——将名称冠予任意定义的数的类型,这举动确实不能让数字变得有意思,我们应该懂得在什么地方收手。话虽如此,要注意处理这些新问题背后的策略,还是欧几里得和欧拉展示给我们的关于完美数的那一套。回忆一下,欧几里得证明的是如果一个梅森数是素数,那么另一个数就是偶的且是完美的。欧拉则证明了反过程,所有偶完美数都是由这一途径产生的。在公元9世纪,波斯数学家塔比特·伊本·库拉(Thabit ibn Qurra)对于任意数n引入了一个三元数组,如果数组里的数都是素数,就可以构造一对相亲数。塔比特的构造方法在18世纪被欧拉进一步推广,但即便这个加强版公式似乎也只能产生一部分相亲数对,还有很多相亲数不能由这个构造产生。(现在已知差不多1200万对相亲数。)到了现代,克拉维茨(Kravitz)给出了奇异数的一种基于素数的构造方法。这个公式成功找到了一个很大的有五十多位的奇异数。

本章和前一章是为了通过各种各样的实例,让读者朋友熟悉自然数的因数和因数分解。自然数也叫作正整数(positive integers)。这将帮助你为下一章做好准备,你将了解那些思想如何被应用于当代密码学(cryptography)——关于秘密的科学。

[1] 又称完全数或完备数。

[2] 2018年12月21日,已知的最大素数已更新为282 589 933-1。有兴趣的读者可以参阅GIMPS项目官方网站 https://www.mersenne.org/。

[3] 又称亲和数、友爱数、友好数。

[4] 素数幂即单一素数的正整数次方。