素数有无穷多个的几个证明
2012-09-06 22:23
375 查看
构造法:假设存在最大的素数P,那么我们可以构造一个新的数2 * 3 * 5 * 7 * ... * P + 1(所有的素数乘起来加1)。显然这个数不能被任一素数整除(所有素数除它都余1),这说明我们找到了一个更大的素数。
用Fermat数证明素数无穷多
Fermat数是指形为2^(2^n)+1的数,我们把2^(2^n)+1记作F(n),其中n可以取所有自然数。显然所有的Fermat数都是奇数。一会儿我们将看到任两个Fermat数都是互素的,也就是说,每一个Fermat数的每一个素因子都与其它Fermat数的素因子不同。这也就说明,素数个数有无穷多。
引理1:F(0) * F(1) * F(2) * ... * F(n-1) = F(n) - 2, n>=1
证明:数学归纳法。F(0)=3且F(1)=5,那么k=1时显然成立。假设k=n成立,则当k=n+1时:
F(0) * F(1) * F(2) * ... * F(n)
= ( F(0) * F(1) * F(2) * ... * F(n-1) ) * F(n)
= ( F(n)-2 ) * F(n)
= ( 2^(2^n)-1 ) * ( 2^(2^n)+1 )
= 2^(2^(n+1))-1
= F(n+1)-2
引理2:对任意两个不相等的自然数n和m,有F(n)和F(m)互素。
证明:假设t同时整除F(n)和F(m),m<n。根据引理1,有:
F(n)=F(0) * F(1) * F(2) * ... * F(m) * ... * F(n-1) - 2
这说明t可以整除
F(0) * F(1) * F(2) * ... * F(m) * ... * F(n-1) - F(n) = 2
注意到2只有两个因数1和2。前面说过Fermat数都是奇数,因此不可能被2整除。这样,t只能为1,这就证明了两个数互素。
用*-集合证明素数无穷多
*-集合是一个正整数集合{a1, a2, ... an},使得对所有不相等的i和j都有ai-aj整除ai。
引理1:对所有n>=2,都存在一个大小为n的*-集合。
证明:数学归纳法。{1,2}显然是一个大小为2的*-集合。假设{a1, a2, ... an}是一个*-集合。定义b0为a1*a2*...*an(即所有ai的乘积)。对所有不超过n的正整数k,令bk=b0+ak,那么{b0, b1, b2, ..., bn}就是一个大小为n+1的*-集。
引理2:假设{a1, a2, ... an}是一个*-集合。对所有不超过n的正整数i,定义fi=2^ai+1,那么f1, f2, ..., fn两两互素。
证明:显然fi都是奇数。假设fk和fm(fk>fm)可以被同一个素数p整除,那么p也只能是奇数。p可以整除fk-fm即2^am * ( 2^(ak-am)-1 )。由于p是奇数,那么它只可能是整除2^(ak-am)-1。
如果有s整除t,那么2^s-1整除2^t-1。于是,根据*-集合的定义,2^(ak-am)-1整除2^ak-1。那么p就可以整除2^ak-1。但p也能整除2^ak+1,于是我们得出p整除2,这与p为奇数矛盾。
定理:素数有无穷多个
证明:根据引理1和2,对任意大的n,都存在大小为n的集合,里面的数两两互素,即至少存在n个不同的素因子。这就说明了素数的个数可以任意多。
用Fermat数证明素数无穷多
Fermat数是指形为2^(2^n)+1的数,我们把2^(2^n)+1记作F(n),其中n可以取所有自然数。显然所有的Fermat数都是奇数。一会儿我们将看到任两个Fermat数都是互素的,也就是说,每一个Fermat数的每一个素因子都与其它Fermat数的素因子不同。这也就说明,素数个数有无穷多。
引理1:F(0) * F(1) * F(2) * ... * F(n-1) = F(n) - 2, n>=1
证明:数学归纳法。F(0)=3且F(1)=5,那么k=1时显然成立。假设k=n成立,则当k=n+1时:
F(0) * F(1) * F(2) * ... * F(n)
= ( F(0) * F(1) * F(2) * ... * F(n-1) ) * F(n)
= ( F(n)-2 ) * F(n)
= ( 2^(2^n)-1 ) * ( 2^(2^n)+1 )
= 2^(2^(n+1))-1
= F(n+1)-2
引理2:对任意两个不相等的自然数n和m,有F(n)和F(m)互素。
证明:假设t同时整除F(n)和F(m),m<n。根据引理1,有:
F(n)=F(0) * F(1) * F(2) * ... * F(m) * ... * F(n-1) - 2
这说明t可以整除
F(0) * F(1) * F(2) * ... * F(m) * ... * F(n-1) - F(n) = 2
注意到2只有两个因数1和2。前面说过Fermat数都是奇数,因此不可能被2整除。这样,t只能为1,这就证明了两个数互素。
用*-集合证明素数无穷多
*-集合是一个正整数集合{a1, a2, ... an},使得对所有不相等的i和j都有ai-aj整除ai。
引理1:对所有n>=2,都存在一个大小为n的*-集合。
证明:数学归纳法。{1,2}显然是一个大小为2的*-集合。假设{a1, a2, ... an}是一个*-集合。定义b0为a1*a2*...*an(即所有ai的乘积)。对所有不超过n的正整数k,令bk=b0+ak,那么{b0, b1, b2, ..., bn}就是一个大小为n+1的*-集。
引理2:假设{a1, a2, ... an}是一个*-集合。对所有不超过n的正整数i,定义fi=2^ai+1,那么f1, f2, ..., fn两两互素。
证明:显然fi都是奇数。假设fk和fm(fk>fm)可以被同一个素数p整除,那么p也只能是奇数。p可以整除fk-fm即2^am * ( 2^(ak-am)-1 )。由于p是奇数,那么它只可能是整除2^(ak-am)-1。
如果有s整除t,那么2^s-1整除2^t-1。于是,根据*-集合的定义,2^(ak-am)-1整除2^ak-1。那么p就可以整除2^ak-1。但p也能整除2^ak+1,于是我们得出p整除2,这与p为奇数矛盾。
定理:素数有无穷多个
证明:根据引理1和2,对任意大的n,都存在大小为n的集合,里面的数两两互素,即至少存在n个不同的素因子。这就说明了素数的个数可以任意多。
相关文章推荐
- 如何证明素数有无穷多个
- 素数有无穷个的证明
- 《算法导论》学习笔记——如何证明有无穷多个素数
- 素数的形成与无穷素数的证明
- 经典证明:素数无穷多的拓扑学证明
- 如何证明素数有无穷多个
- 利用阶乘因子数公式证明素数无穷多
- 用反证法证明有无穷多个素数
- 转任意素数有有无穷个的证明
- 经典证明:用信息熵证明素数无穷多
- 如何证明素数有无穷多个
- 几个重要等价无穷小的证明
- 如何证明素数有无穷多个
- 另外两种证明素数无穷多的方法
- 扩展欧几里得的几个定理以及证明
- 【筛素数表证明】【O[n]】
- 神经网络中反向传播算法中的几个公式究竟是怎么一回事儿?(含证明)
- 证明:log(n!)与nlogn是等价无穷大
- 证明质数有无穷个 和证明所有合数必能因式分解为质数之积
- 【筛素数表证明】【O[n]】