Loading

素数的个数证明

前言

颓废的时候发现了这个非常有趣的问题,在这里分享一下。
当然,原题给出了 \(7\) 种证明,没脑子选手冥思苦想一年只看懂两种。

正文

第一种证明

我们考虑假设素数的个数是有限个。
那么我们运用一个集合 \(\mathbb{P} = \{p_1,p_2,p_3,\cdots ,p_{m-1},p_m \}\) 来表示。
现在考虑构造一个数 \(n\) ,使得:

\[\begin{split} n&=\prod_{i=1}^{m}p_i + 1\\ &=p_1\times p_2\times p_3\times \cdots \times p_{m-1}\times p_m + 1 \end{split} \]

因为所有的素数都在上述的集合中,所以 \(n\) 是合数。
\(n\) 存在质数因子 \(pr\)\(pr \in \mathbb{P}\)

现在我们假设以上所有的都是成立的。
\(\because\) \(n\) 存在质数因子 \(pr\)\(pr \in \mathbb{P}\)
\(\therefore\) \(pr|n\)\(pr|(p_1\times p_2\times p_3\times \cdots \times p_{m-1}\times p_m)\)
我们设 \(n = pr\times k_1 \ \ (k_1 \in \mathbb{N}^+)\)
\(Mul_P = (p_1\times p_2\times \cdots \times p_{m-1}\times p_m) = pr\times k_2\ \ (k_2 \in \mathbb{N}^+)\)
\(\therefore\) \(n - Mul_P = pr\times (k_1-k_2) = 1\)
\(\therefore\) \(pr \in \mathbb{P}\)\(pr = 1\)

非常显然,这是矛盾的。
由此得出,一定有无穷多个素数。


第二种证明

先确定方向,我们从 \(\gcd\) 的角度来解析这个问题。
很显然的是,如果两个数 \(a\)\(b\)\(\gcd(a,b)=1\)\(a\)\(b\) 互质。
那么我们一定可以推出 \(a\)\(b\) 拥有的质因数互不相同。
所以,我们如果能够找到一个无穷的序列使得序列中的数两两互质即可。

在证明中,采用了一个名字叫做 \(Fermat\) 的序列,序列的公式为 \(F_i=2^{2^n}+1\)
首先,这个序列一定是无穷无尽的。
所以我们需要做的事只有证明:

\[\forall a,b\in \{F_i\},a \neq b\ \rightarrow \gcd(a,b)=1 \]

不过这好像并不是一个非常好证明的东西。
所以证明中吧其转化成了验证下面的这个式子。

\[F_{n-2}=\prod_{k=0}^{n-1} F_k \]

等式子列数来后在理解我们会发现非常巧妙:
同样采取反证法,我们假设存在相同的质因数 \(pr\)

\[\begin{split} F_n- 2&=\prod_{k=0}^{n-1} F_k\\ F_n-\prod_{k=0}^{n-1} F_k&=2\\ pr\times k_1-pr\times k_2&=2\\ pr\times (k_1-k_2)&=2\\ \end{split} \]

由此我们可以得出:\(pr|2\)
所以,\(pr\) 只可能是 \(1\)\(2\)
又因为所有的 \(Fermat\) 数都是奇数。
所以上述的假设是不成立的。

现在考虑我们如何来验证上面的这个式子。

\[\begin{split} \prod_{k=0}^nF_k&=(\prod_{k=0}^{n-1}F_k)\times F_n\\ &=(F_n-2)F_n\\ &=(2^{2^n}-1)(2^{2^n}+1)\\ &=2^{2^{n+1}}-1=F_{n+1}-2 \end{split} \]

由此得证,素数有无穷多个。

posted @ 2022-07-05 23:48  Aonynation  阅读(146)  评论(0编辑  收藏  举报