质数?合数?傻傻分不清楚
每一个正整数都能表示若干个2 的次方之和,而且这个表示法是唯一的。在某种意义上,你可以说2 的各个次方就像是砖块,在加法的过程中逐渐砌成正数。在本文中,我们会看到质数也扮演着类似的角色,但这次是利用乘法:每一个正数都可以用唯一的一组质数乘积表示。然而,2 的次方很容易就能找出来,而且没有什么数学上的惊喜;反之质数却棘手得多,而且我们对质数还有很多不了解的地方。
质数是恰好有两个正因数的正整数,这两个正因数就是1 和该数本身。下面列出最初的几个质数:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、⋯
1 这个数字并不被当作质数,因为它只有一个因数,也就是1。(其实1 之所以不被认为是质数还有一个更重要的原因,这点我们很快就会提到。)
请注意,2是质数中唯一的偶数,有些人可能会因此说它是所有质数中最奇怪的!
2是质数中唯一的偶数,有些人可能会因此说它是所有质数中最奇怪的!图/Hiné Mizushima @Flickr
拥有三个或更多因数的正整数称作合数,因为这些数字可由其他更小的因数合成。合数依序有:4、6、8、9、10、12、14、15、16、18、20、21、22、24、25、26、27、28、30、⋯。举例来说,4 这个数字刚好有三个因数:1、2 和4。6 则有四个因数:1、2、3 和6。
请注意,1也不是合数,数学家将1这个数字称作单位,它是所有整数的因数。
每一个合数都可以表示为若干个质数的乘积。要将120分解至只剩下质数,我们可能会写先下120=6×20,而6和20虽然都是合数,但它们都可以被分解成质数,也就是6=2×3以及20 =2×2×5。因此,120 = 2 × 2 × 2 × 3 × 5 = 2 3 3 1 5 1
有趣的是,无论我们一开始用什么方式分解此数,最后得到的质因数分解都是一样的。这就是唯一分解定理,也称作算术基本定理,它声称每个大于1的数字都有一组唯一的质因数分解法。
顺带一提,1不算是质数的真正原因是:如果我们说他是一个质数,这个定理就无法成立。举例来说,12可以分解成2×2×3,但也可以说是1×1×2×2×3,这样的话,质因数分解就不会是唯一的了。
如果1是质数,那么唯一分解定理就不能成立了。图/Hiné Mizushima @Flickr
爱它,就要知道如何分解它
一旦你知道如何分解一个数字,其实就已经相当了解这个数字了。当我还小的时候,我最喜欢的数字是9,但随着我渐渐长大,我喜欢的数字开始变大,甚至更复杂。(比方说,π = 3.14159 …, φ = 1.618 …,e = 2.71828 …,还有,i,这个数字没有办法用小数表示)在我开始对无理数进行实验之前,有一阵子我最喜欢的数字是2520质数是什么意思?,因为在那些可以「被一到十都整除」的数目中,这是最小的一个。2520的质因数分解如下:2520 = 2 3 3 2 5 1 7 1
一旦你知道某数质因数分解的结果,你就可以立刻确定该数有多少个正因数。举例来说,2520 的因数一定会是2a3b5c7d,其中a 可以是0、1、2 或3(四种选择),b 可以是0、1 或2(三种选择),c 可以是0 或1(两种选择),d 可以是0 或1(两种选择)。因此藉由乘法规则,2520 总共有4×3×2×2=48 个正因数。
算术基本定理的证明利用了下列关于质数的事实(任何一本数论教科书都会在第一章证明这点):
若p 是一个质数,且p 能整除两个或更多个数字的乘积,那么在组成这个乘积的各个数字中,p 肯定是其中至少一项的因数。
举例来说:999,999=333×3003 是11 的倍数,所以11 一定能整除333 或3003。(事实上,3003=11×273。)这个特性对合数来说就不是每次都能成立了,比方说60=6×10 是4 的倍数,但是4 并无法整除6 或是10。
要证明唯一的分解定理,我们先反过来假设有些数字质因数分解的结果不只一组。如果N 是拥有两组不同的质因数分解的数字中最小的那一个,表示为:p1p2…pr = N = q1q2…qs
其中所有的pi 和qj 项都是质数。因为N 一定是质数p1 的倍数,所以p1 一定是其中一个qj 项的因数。为了让标记简单一些,我们就说p1 整除q1 好了。因此,由于q1 是质数,所以我们一定会得到q1=p1。所以如果我们将上述等式都除以p1,就会得到:P2…Pr=N/P1=q2…ps
但现在N/P1 质因数分解也有两个不同的结果了,这跟我们之前假设的「N是这种数目中的最小的一个」有所牴触。
要是在火星,一切将不同
顺带一提,在某些数系中,并非所有数都有唯一的因数分解法。
举例来说,在火星上,由于所有的火星人都有两个头,所以他们在生活中只会用偶数:2、4、6、8、10、12、14、16、18、20、22 、24、26、28、30、……
在火星人的数系中,像6 或10 这样的数目会被视为质数,因为在因数分解后,这些数目无法由更小的若干个偶数组成。在这个系统中,质数和合数单纯地交替出现,每一个4 的倍数都是合数(因为4k=2×2k),而其他的所有偶数(像是6、10、14、18 等等)都是质数,因为这些数不能被分解成两个更小的偶数。
让我们来想想180 这个数目:6×30 = 180 = 10×18
在火星人的数系中,180 可以被分解成两种不同的质因数组合,所以在这颗星球的数系中,质因数分解的结果并非独一无二。
图/《数学大观念》
质数会不会消失?
1 到100 之间恰好有25 个质数,下一百个数中有21 个质数,再下一百个数中则有16 个质数。随着数字愈来愈大,质数也愈来愈稀有。(但并没有遵循任何可预测的方式,比如说三百到四百之间有16 个质数,但四百到五百之间的质数有17 个。)到了一百万和一百万零一百之间的时候,就只有6 个质数了。质数会愈来愈稀有是很合理的,因为一个大树底下的数字非常多,所以含有因数的可能性也更高。
我们可以证明一串不含任何质数的100 个相连数字的确存在,甚至有些完全没有出现质数的相连数字长达1000 或100,0000 个(看你想要多长都可以)。为了说服你接受这个事实,接下来我要立刻给你看99 个相连的合数(虽然这并非由我首创)。研究一下这99 个相连的数字:100! + 2, 100! + 3, 100! + 4, . . . , 100! + 100
由于100!=100×99×98×…×3×2×1,所以这个数一定能被2 到100 之间的所有数字整除。接下来想想100!+53 这样的数字,由于53 能整除100!,所以必定也能整除100!+53。这个论述可以证明凡是2 ≤ k ≤ 100,则100!+k 一定会是k 的倍数,所以这一定会是合数。
请注意,我们的论述并没有提到100!+1是否为质数,但我们也可以证明这一点。有一个美丽的定理叫做威尔逊定理,它说若且唯若n是一个质数,则(n− 1)!+1是n的倍数。
用几个较小的数目来实验看看:1!+1=2 是2 的倍数;2!+1=3 是3 的倍数;3!+1=7「不是」4 的倍数;4!+ 1=25 是5 的倍数;5!+1=121「不是」6 的倍数;6!+1=721 是7 的倍数;以此类推。由于101 是质数,而沃里斯定理表示100!+1 会是101 的倍数,所以该数就是合数。因此100! 到100!+100 包含了101 个相连的合数。
连续101个相连的合数!图/Tom Simpson @Flickr
因为在极大的数字中质数会变得愈来愈稀少,所以大家自然会好奇是不是在某一数之后就完全不会有质数了。不过就如同欧几里德在两千年前告诉我们的,这并不会发生。但可不要就这么接受他说的话了,好好享受自己证明这点的乐趣吧。
定理:质数有无限多个。
证明:反过来假设质数的数量有上限,那么一定有一个最大的质数,这里我们用 P 来表示。现在来看看P!+1 这个数字,由于P! 能够被2 到P 之间的所有数字整除,就表示这些数字中没有一个能整除P!+1,所以P!+1 一定有一个大于P的质因数,而这跟原本假设的「P是最大的质数」有所牴触。
虽然我们永远不会找到最大的质数,但这并没有阻止数学家和电算科学家继续寻找更大的质数。在我撰写这本书的当下,目前已知的最大质数有17,425,170位数。光是要写下这个数字就要花掉比本书多上大约一百倍的纸张,不过,我们也可以只写成一行:2 57,885,161 − 1
要得知 2 n −1或 2 n +1是不是质数,我们有个非常管用的方式,这是为什么此数可以用如此简单的方式表达出来。
到底是不是质数?费马为你验真身
伟大的数学家费马曾经证明:如果p是奇质数,那么2 p−1 −1肯定是p的倍数。
用最小的几个奇质数试试看吧:对质数3、5、7、11来说,我们能看到2 2 −1=3是3的倍数;2 4 −1=15是5的倍数;2 6 −1=63是7的倍数;且2 10−1=1023是11的倍数。
至于合数,显然当n是偶数的时候,2 n-1 −1一定是奇数,所以此数不可能是n的倍数。接着拿最小的几个奇合数来试试看:9、15、21,我们会看到2 8 −1=255不是9的倍数;2 14 −1=16,383不是15的倍数;2 20−1= 1,048,575也不是21的倍数(甚至不是3的倍数)。
因此根据费马定理,如果有一个很大的数目N,使得2 N-1 −1不是N的倍数,那么我们也可以百分之百确定N不是质数,就算不知道N的因数为何也无妨!
然而费马定理的逆论述并不正确,因为的确有某些合数(称做拟质数)表现得像质数一样。最小的例子是341=11×31,具有2 340−1为341的倍数这个特性。虽然已经有人证明拟质数的存在非常稀有,但是仍然有无限多个,好在有方法可以排除它们。
令人着迷的完美数字
质数能运用在许多地方,尤其是电算科学。质数是几乎所有加密演算法的核心,包括为了能在网路上安全地作金融交易而产生的「公开金钥密码系统」。这些演算法多数都是基于一个事实:对我们来说能迅速判断出某数是否为质数,但截至目前为止,并无法迅速地完成某个大数的因数分解。
举例来说,如果我随机相乘两个1000 位数的质数并得到一个2000 位数的答案,任何人或是电脑(除非某天有人打造出了一台量子电脑)能算出原来那两个质数的机率都微乎其微。基于我们没有能力分解大数而产生出来的这些密码(像是RSA 加密演算法),一般相信是相当安全的。
世人已经为质数着迷了数千年,古希腊人曾说,当一个数字等同于该数所有真因数(除了该数本身以外的各个因数)之和的时候,它就是一个完美的数字(正式名称为「完全数」)。举例来说,6是一个完全数,因为它的真因数1、2和3的总和是6。
6是一个完全数,因为它的真因数1、2和3的总和是6!图/Robin @Flickr
下一个完全数是28,它的真因数1、2、4、7 和14 总和为28。再接下去的两个完全数是496 和8128,这有任何规律吗?让我们看看这些数字质因数分解的结果:
6 = 2× 3
28 = 4 × 7
496 = 16 × 31
8128 = 64 × 127
你看出其中的规律了吗?第一个数都是2 的次方,第二个数都是第一数的两倍再减1 的结果,而且是个质数。(这就是为什么上述等式中没有8×15 或是32×63,因为15 和63 都不是质数。)我们可以将这个规律归纳成下面这个定理:
定理:若2 n −1是一个质数,则2 n -1×(2 n −1)就是一个完全数。
证明:令p=2 n −1为质数,而我们的目标是要证明2 n-1 p是完全数。
2 n -1p的真因数为何?如果排除因数p质数是什么意思?,剩下的因数就是简单的1、2、4、8、…、2 n-1,其总和就是2n-1 =p。其他的真因数(不包括2 n-1 p)则包括因数p,所以这些因数之和就是p(1+2+4+8+…+2n−2)=p(2n−1−1)。因此,真因数的总和会是p + p(2 n-1 −1) = p(1 + (2 n-1 −1)) = 2 n-1 p正是待证的结果。
伟大的数学家欧拉(1707 ∼ 1783)证明了所有的完全数都遵循这个形式。在我撰写这本书的当下,已经被找出的完全数总共有四十八个,而且全部都是偶数。
关于质数,仍有许多神秘未知
有任何完全数是奇数吗?就目前为止,没有人知道这个问题的答案。唯一知道的是如果有一个完全数是奇数,那么这个数目一定超过三百位数,但目前也没有人能证明它们并不存在。
有许多能够简单陈述的未解之谜都跟质数有关系,我们已经说明过目前无法得知是否有无限多个费氏数质数。(已经有人证明出费氏数里面只有两个完全平方(1 和144),也只有两个完全立方(1 和8)。)
另外一个未解之谜称作哥德巴赫猜想,它的猜测是所有大于二的偶数都是两个质数之和。
同样地,没有人能够证明这个猜想,不过有人证明出如果反例的确存在,那么这个数字至少会有十九位数。(最近有个类似的问题已经有所突破,2013 年,贺欧夫各特(Harald Helfgott)证明了每一个大于七的奇数都可写成顶多三个奇质数的和。)
最后,所谓的孪生质数是任意两个相差2 的质数。孪生质数的前几个例子是3 和5、5 和7、11 和13、17 和19、29 和31。
你能看出来为什么3、5 和7 是唯一的「三质数组」吗?虽然已经证实( 因为古斯塔夫(Gustav Dirichlet)一个定理中的特例)世上有无限多个结尾是1 的质数(或者结尾是3、7 或9),是否有无限多个孪生质数这个问题依然还没有答案。
不管怎么样,正整数就是有趣啦!
让我们用一个有点可疑的证明来结束这一章,但我希望你好歹还是会同意这个论述。
主张:所有的正整数都很有趣!
证明:你一定会同意前几个正整数都非常有趣,举例来说,1 是第一个数字,2 是第一个偶数,3 是第一个奇数,4 既是2+2 又是2×2等等。现在反过来假设并不是所有的数字都很有趣,那就必定会有第一个不有趣的数,我们称之为N。但光是这一点就让N 变得很有趣!所以不有趣的数字根本不存在。
太有趣啦~~~图/GIPHY