其他
从“三七二十一”到“素数之无穷”
如果我们把这个等式换一个写法,21=3×7
那么可以得到新的理解:21可以写成3和7的乘积。事实上,21=3×7=7×3是21唯一的非平凡的因子分解。除此之外,21还有一个平凡的因子分解:21=1×21=21×1。
聪明的读者大概猜到我要讲什么了。对了,就是初等数论。
例如,2, 3, 5, 7, 11…是素数;而6, 8, 9, 10,12…是合数。
在某种意义下,你可以认为素数比合数更简单。事实上,素数是构造合数的基本积木。
例如,21是合数,因为它有非平凡的因子分解21=3×7=7×3,而其中的两个因子3和7都是素数。再如,12也是合数,它的素因子是2,2, 3,因为12=2×2×3。
对于具体给定的合数,比如21或者12,这是很容易验证的。我们来看12的情况,虽然12还有两种非平凡的分解12=3×4=2×6,但是注意到,其中的因子4和6并不是素数。因此这两个分解都不是素因子分解。
上述定理的威力在于,素因子分解的存在性与唯一性,对任意的合数都成立。
我们不妨暂时先承认这个定理的正确性(事实上早在2000多年前,古希腊的数学家就证明了这个定理)。这样一个存在性定理立即会引出一个问题:对于任意给定的一个大于1的数,如何判定它是否为素数;如果它不是素数,那么作为合数,如何求出它的素因子分解?
然而,我们大概永远也无法做到这一点——比天空中星罗棋布的点点繁星,素数的分布更加令人难以捉摸!虽然目前尚不清楚,大大小小的星体是否有无限多个,但存在无穷多个素数这一点则是毫无疑问的!
因此,素数序列“ 2,3, 5, 7, 11…”中的省略号,所表示的其实是一种无奈(而非偷懒)。
“凡是我们不能言说的,我们必须保持沉默。”(引自奥地利哲学家维特根斯坦)
原则上,你可以继续往下写出更大的素数,13,17,19,23… 然而迟早在某一步(比如,当你挂掉时),你会感叹,还是素数更永垂不朽。也许那时你会修改曹丕的话:“年寿有时而尽,荣乐止乎其身,未若素数之无穷”。(在曹丕的原文中,最后一句是“未若文章之无穷”。)
比如说,我们要选出2到144之间的所有素数,那么就只需要去掉其中所有的合数,也就是那些是2,3,…144的倍数的数。
然而事实上,真正需要考虑的数并没有那么多,这是因为如果一个介于2和144之间的数是合数,那么它一定有一个因子不超过
在2到144的这143个数中,首先去掉2的所有真倍数,即所有大于2的偶数。得到的数很容易看出来:
这方法人工操作起来当然有点繁琐,也容易出差错,但交给计算机来做,完全可以放心。尽管如此,在寻找大素数和对较大的数求素因子分解方面,计算机的效率和能力也是有限的。正是这一固有的困难,确保了将素数应用于密码的安全可靠性。其想法是很简单的:如果我用了你不知道的超级大的素数,那么计算机在它有生之年破解的几率小得可怜。
哪怕是对于比计算机算得还快的人,在对超级大的数求因子分解这个问题面前,也绝不可能显出其高明来。如果你碰到一个在数学方面自以为是、狂妄自大的人,想要打击他或者打发他,很容易——你随便写一个比较大的数,比如,12345678910111213(只要你乐意,还可以往下写,甚至写得更复杂),然后只需问他:这个数是不是素数,如果是,何以见得;如果不是,其素因子分解是怎样的。
接下来,对于那些可能会问“为什么素数有无穷多个”的朋友,我想介绍一个经典的证明。在给出这个证明之前,我先要说明一下,证明在数学中的含义。
在数学中,证明是一串逻辑推导(因为……所以……)的链,每一步推导(即给出从“因为……”到“所以……”的理由)所代表的,是一种无懈可击、唯一的逻辑必然。虽然数学家常常“言必称证明”,但正如英国著名的物理学家爱丁顿(Eddington)一针见血指出的:“证明是数学家自己折磨自己的幽灵。”
在实际生活中,所发生的一切都只是选择,其选项往往很多,所谓逻辑上的必然性与数学上的正确性,在生活中根本不存在(请你不要绝望,这是好事)。这么说吧,生活被机遇和偶然所主宰(合情即可理解),而数学则听命于逻辑和必然(必须合理)。
听起来好像生活比数学容易,因为数学需要讲道理,生活中的事情则未必。比如《大话西游》里头,至尊宝与菩提有段经典的对白:
也许你并不这么认为,那么接下来我就来介绍一下“素数之无穷”的证明,让你感受一下数学家是如何通过讲道理而让你明白隐藏的事实,让你领略一下数学中无懈可击的证明的威力。
反证法是基于这样的想法:一个命题与其否命题,有且仅有一个成立(势不两立)。因此要证明某个命题(素数有无穷多个)成立,只要证明其否命题(素数至多有有限多个)不成立。也许有人不喜欢反证法,认为它绕,不直接。在本例的情况,很容易把上述证明写成一个直接的证明。如下:
设我们已经有素数
为了避免让你误认为数学就是一堆证明,我要立即指出,数学最有活力的部分在于,猜出所要证明的东西,也就是猜想。本质上讲,数学家所做的事情,就是基于部分已知的事实,猜出一些美妙的一般事实,然后想办法证明。
比起《大话西游》里紫霞仙子对理想的坚定追求,数学家对猜想的执着,有过之而无不及。
我们看最简单的情况
老实讲,对于这个猜想的正确性,我并没有多大把握,至于它是否重要、是否有趣,我就更没有信心了(不过有朋友告诉我,他们认为挺有趣)。毕竟,只是在准备写这篇文章时,我偶然想到这个问题。
说不定,与此同时,你也想到了一些问题、做出了一些猜想,这就是数学的真正乐趣之一:数学是思维的体操,它能引发你思考。
我想说,正是对那些未解决的问题的深入思考,引导着数学家在广袤无垠深不可测的数学天地中继续开拓,让他们最终能够确定地回答一些极其简单的问题,如“素数之无穷”。
也许可以这么说,不论是在生活中还是数学中,都存在许许多多问起来简单而回答则不易的问题,数学家研究、发展数学,一个重要的动机,就是要回答那些问题。正如20世纪的德国大数学家希尔伯特(Hilbert)所说:我们必须知道,我们必将知道。
如果你是第一次见到我的名字,并且“不管三七二十一”读完了这篇文章,那么此时我希望你的表情是这样的: