质数的个数是无限的吗?还是说存在一个最大的质数,比它大的任何数字都可以表示为已有质数的乘积?首先提出这个问题的正式欧几里得本人,他以一种简单而优雅的方式证明了质数有无穷多个,所以并不存在所谓的”最大质数”。为了验证这个命题,我们暂且假设质数的个数是有限的,并用字母N来达标已知最大的质数。现在我们将所有质数相乘,最后再加1,数学表达式如下:

欧几里得定理的证明_整除

这个式子得出的结果当然比所谓的“最大质数” N大得多,但是这个数显然不能被任何一个质数(最大到N为止)整除,因为它是用上面这个式子构建出来的。根据这个数学式,我们可以清晰的看到,无论用哪个质数去除它,最后必然得到余数1.因此,我们得到这个数字要么是个质数,要么能被一个大于N的质数整除,无论哪个结果都必将推翻我们最初的假设,即N是最大的质数。

这种证明方法叫做归谬法,它是数学家最爱的工具之一。

基于以上推理,我们可以进行这种构造验证一下,看每次构造出来的数字是否都是质数。

从最初的两个质数开始构造:

欧几里得定理的证明_整除_02

根据上面的反证法,已知

欧几里得定理的证明_算法_03

,构造出

欧几里得定理的证明_贪心算法_04

方法为:

所以,

欧几里得定理的证明_整除_05


结束!