完全数(perfect number)也称完美数,是一个数的所有因子(不包括自身)之和等于这个数本身。
公元前3世纪,古希腊人在对正整数进行
因数分解时,发现有的数的所有因数(包括1和其自身)之和等于自身的2倍,即为完全数。在近代,1644年,法国数学家梅森(M.Mersenne)提出了著名的梅森猜想,欧拉、卢卡斯等人为猜想真伪的辨明做出了贡献。进入20世纪,电子计算机的出现,为完全数的寻找提供了便利。对于奇完全数是否存在,布伦特(R.Brent)等人给出了相关结论与证明。
完全数具有一些神奇的性质,如每一个偶完全数都可以写成连续
自然数之和。与完全数相关的定理为欧几里得定理以及欧拉定理,它们为完全数的计算提供了理论基础。将完全数概念进行推广,可得到
多重完全数,以及在某一
特殊函数下定义的完全数。在东西方文化中,完全数一直是祥瑞的象征,象征着吉祥如意,美满幸福。
定义
完全数(完美数)指的是一个数的所有因子(不包括自身)之和等于这个数本身。设表示正整数的所有
因数之和,则是一个完全数等价于。
简史
古代
完全数概念的提出可追溯至古希腊时期。公元前3世纪,古希腊人在对正整数进行因数分解时,发现有的数的所有因数(包括1和其自身)之和等于自身的2倍,他们称之为完全数。公元前300年左右,
欧几里得在其《
几何原本》卷九最后给出了寻找完全数的命题,即为欧几里得定理。公元1世纪左右,
古希腊数学家
尼科马霍斯(Nichomachus)在《
算术入门》中复述了以上4个完全数和欧几里得定理。
近代
到了近代,关于完全数的研究,许多著名的猜想和
定理被提出。1460年,一位无名氏的手稿,给出了第5个完全数33550336。16世纪
意大利数学家塔塔利亚(N.Tartaglia)指出,当p=2或3~39间的
奇数时,2p-1(2p-1)是“完全数”,共有20个。17世纪“神
数术"大师庞格斯(Pangos)在《数的玄学》中,在塔塔利亚的基础上,列出了28个“完全数”。1603年,意大利数学家卡塔尔迪(P.A.Cataldi)证明了无名氏找出的那第5个完全数符合欧氏定理。同时,他证明了第6个和第7个完全数分别是216(217-1)和218(219-1);但他也给出了一些错误的结论。直到1640年,
法国大数学家
皮耶·德·费玛使用著名的
费马小定理证明了卡塔尔迪关于p=23的结果是错误的。1644年,法国数学家梅森(M.Mersenne)指出:庞格斯给出的28个“完全数”中只有8个是正确的。即当p取2,3,5,7,13,17,19,31时,2p-1(2p-1)是完全数。同时,他另给出第9,10,11个完全数,即p取67,127,257时。梅森在没有证明的情况下断言:当p≤257时,就只有这11个完全数。这就是历史上著名的“梅森猜测”,而形如2p-1的数被称为“梅森数”,其中的素数称为“梅森素数”。
18、19世纪,大量数学家参与到梅森猜想的研究中。1730年,
瑞士数学家证明了一个重要
定理:“每一个偶完全数都是形如2p-1(2p-1)的
自然数,其中p与2p-1都为素数”。1772年,
莱昂哈德·欧拉在双目失明的情况下,仍在顽强地研究完全数。他写信给瑞士数学家
雅各布·伯努利(Bernoulli)说,他用
试除法已靠心算证明,当p=31时,230(231-1)是第8个完全数。同时,他还纠正了自己指出p取41、47是完全数的错误。1876年,
法国数学家卢卡斯(F.Lucas)提出了一个用来判别素性的重要定理—卢卡斯定理。借助卢卡斯定理,数学家们发现,“梅森猜测”中p取67和257可得到的完全数的说法是错误的,且在p≤257范围内,梅森漏掉了p取61,89,107时的三个完全数。这样一来,“梅森猜测"应修正为:p≤257时,当p取2,3,5,7,13,17,19,31,61,89,107,127时,2p-1(2p-1)是完全数,共12个。
现代
电子
计算机的出现,大大加快了完全数的寻觅步伐。人们自开始利用计算机寻觅完全数至今,又发现了34个完全数,其间历时64年。目前发现的最大偶完全数是第45个被发现的偶完全数,也可能就是第46个偶完全数(后发现的那个反而要小一点),即p=43112609时的243112608(243112609-1)。在1922年,数学家克莱契克(M.Kraitchik)运用
抽屉原理验证了2257-1并不是素数,而是
合数,只是当时他并没有给出这一合数的素因子,故2256(2257-1)并非完全数。
19世纪中后期,偶完全数的结论已较为成熟,而对于即完全数的探讨在数学界仍占据较重要的地位。数学家奥尔(O.Ore)用
计算机检查过108以下的
自然数,没有发现一个奇完全数。1973年,有人证明奇完全数必须大于1050;1975年,哈吉斯(P.Hagis)和迈克
丹尼尔(W.L.McDaniel)证明奇完全数的最大素因子一定大于100110;后来,布兰斯坦(M.Brandstein)指出:若奇完全数存在,它的最大素因子大于5x105。1976年,塔克曼(B.Tuckerman)研究后宣布,若奇完全数存在,它必须大于1036。1979年,哈吉斯等人证明,奇完全数如果存在,则其异素因子的个数大于等于8。尼尔森(P.P.Nilsen)进一步改进了奇完全数相异素因子的个数,他证明若n为奇完全数,则其相异素因子个数大于等于9,且他进一步得到当3不整除n时,n的相异素因子个数大于等于12。1981年,哈吉斯再次指出,若奇完全数存在,它的第二大素因子大于103;1989年,布伦特(R.Brent)等指出:若奇完全数存在,则必大于10160;1991年,布伦特等人又将此下界推进至10300;而利普(W.Lipp)将之改进为大于10500;1999年,还有人指出奇完全数的更大下界,但塞达克(F.Saidak)发现证明中的错误,并将错误告诉了证明者。
举例
性质
关于完全数
(1)完全数的全部
因数的
倒数之和都是,因此每个完全数都是调和数。如
。
关于偶完全数
(1)偶完全数都是以或结尾。如果以结尾,那么就肯定是以结尾。
(2)除以外的偶完全数,把它的各位数字相加,直到变成一位数,那么这个一位数一定是。亦即:除以外的完全数,被除都余。如:
(3)所有的偶完全数都可以表达为的一些连续正整数次幂之和,从到。如:
;
;
;
。
;
;
。
(5)除以外的偶完全数,还可以表示成连续
奇数的立方和:
;
;
;
。
关于奇完全数
(2)设是具有个相异素因子的奇亏完全数,则或者。且若,有;若,有。
相关定理
欧几里得定理
定理:若为素数(即梅森素数),则是完全数。
证:设,由于是素数,所以。注意到,
有:。
故是完全数。
欧拉定理
定理:若是一个偶完全数,则,这里为某素数,且也是素数。
证:设的标准分解式中含的最高方幂的次数为,因为偶数,故。又因显然不是偶完全数,所以
。
由,可得
易知,和都是的正
因数,但是的所有正因数之和,故只有两个正因数,即为素数,且,因此为素数。此时必须是素数,记为。证毕。
计算
公式法
公元前3世纪,
古希腊著名数学家
欧几里得发现了一个计算完全数的公式:如果是一个质数,那么,由公式算出的数一定是一个完全数。
例如,当时,是一个质数,于是是一个完全数;当时,是一个完全数;当时,也是一个完全数。
电子计算机法
可定义一个布尔型函数perfect(x),若x是完全数,其值为ture,否则为false。计算完全数的函数定义如下:
function perfect(x:integer):boolean;
var
k,sum:integer;
sum:=1;
for k:=2 to x div 2 do
if x mod k=0 then sum:=sum+k; //判断x是否是完全数
perfect:=x=sum; //将结果赋值給函数名
end;
自定义函数只是主程序的说明部分,若主程序中没有调用函数,则系统不会执行函数
子程序。当主程序调用
一次函数时,则将实际参数的值传给函数的形式参数,控制转向函数子程序去执行,子程序执行完毕自动返回调用处。
相关概念
梅森数
具有形式的数为梅森数(Marin Mersenne),其中为素数。如果梅森数是素数,则称为梅森素数。梅森数可能是素数,也可能是
合数,例如:都是素数,而是合数。
上述欧几里得定理利用梅森素数计算偶完全数的方法。此外,所有的偶完全数都是形如的数,这里是质数。由此推出,有几个梅森数质数,就有几个偶完全数。
亲和数
亲和数指的是两个数中,一个数的全部
因数(本身除外)之和与另一个数
相等。例如,数字220和284就是亲和数。
完全数和亲和数被许多数字性的臆测所包围。例如,Saint Augustine认为
雅威在六天内创造了天和地,因为6是一个完全数,从而会预示该工作的完美性。亲和数常常和两个人的亲密友谊相联系。1007年,在
马德里这些数曾被建议可以当作一贴爱情之药来使用:将较小的数送给你所爱的对象而你自己吃较大的数(例如220粒与284粒米)。此外,在许多未解决的问题方面,完全数和亲和数是类似的。
推广
多重完全数
在
自然数中,还存在大量满足“一个数的k倍等于它的全部
因数(包括1和其自身)的和,其中k为不小于3的整数”这样的整数,称之为k重完全数。现已发现的多重完全数包括,3重完全数(6个)、4重完全数(20个)、5重完全数(13个)、6重完全数(1个)。
特殊完全数
设是全体正整数的集合,对于正整数,设。
如此的称为的Smarandache函数。设是正整数,如果的不同
因数之和等于,则称是完全数。Ashbacher将完全数的概念推广到了Smarandache函数范围,将满足的正整数称为Smarandache完全数。对此,他证明了:当时,仅有Smarandache完全数编辑器。
应用
计算机
整数通常是
程序设计语言的一种基础形态,例如Java及C
编程语言的int类型。整数问题是实际应用中经常要解决的问题。整型数据根据其所占
内存大小可分为基本整型(int)、长整型(longint)、短整型(short int),根据数据满足的某些性质又可将其分为完全数、水仙花数和亲密数等完全数作为计算机
Python语言的一种基础工具,可以解决各种整数问题,简化计算过程。
相关文化
完全数是被古人视为瑞祥的数。6这个数人人都喜欢,它代表吉祥如意。神话上说至高无上的宇宙之神在六天之内创造万物,第七天休息,从此有一周七天、星期日休息的作休制。
意大利把6看成是属于爱神维纳斯的数,以象征美满的婚姻及健康和美丽。中国古代哲人那时大概还不知道6是个完全数,但他们却总是把6作为一个周期完成的标志,像《周易》就是以六爻成卦的。