关于孪生素数猜想的一个证明

2015-10-14 12:10张跃
科技视界 2015年28期

张跃

【摘 要】根据计算机的整数取值有限,本文提出了一个基本假设。在此假设的基础上,利用C语言编程,证明了:对应于无穷多个素数p,存在无穷多个p+2的素数;即孪生素数猜想。

【关键词】孪生素数;假设;C语言程序

【Abstract】In accord with the limitation of the integer taken by a computer, an assumption is suggested, and on the basis of it, using the program of C language, the paper proves that corresponding to infinite primes p, there are infinite p+2 being primes; namely, the conjecture of pair primes.

【Key words】Pair primes; Assumption; Program of C language

0 引言

目前,数论中尚未解决的难题有两个,一个是偶数情形的哥德巴赫猜想,另一个是孪生素数的哥德巴赫猜想(孪生素数猜想)[1]。从一些有关数学的期刊上可以发现, 关于孪生素数的猜想,一直是国内外数学界关注和研究的一个重要课题。迄今为止,数学家陈景润已经证明:存在无穷多个素数p,使p+2为不超过两个素数的乘积[2]。国内外还没有人能够做到利用纯粹的数学理论方法证明这一猜想。本文将设计C语言的程序证明孪生素数的猜想。如果用Q(p)表示无穷多个素数p组成的集合,Q(p+2)是相应的无穷多个p+2的素数组成的集合,并且假设计算机二进制的数码的位数没有限制,则通过C程序的运算可以由Q(p)的所有元素得到Q(p+2)的所有元素。从数学的观点看,可以将C程序的运算视为由Q(p)到Q(p+2)的一个映射M(mapping)[3], 表示为M: Q(p)→Q(p+2)。

1 假设

计算机将整数转换为二进制数码表示,假设数码的位数不受限制,则任意大的整数k可以无限地转换成二进制数码。但由于机器的规模限制,机器的二进制数码的位数是有限的。例如,对于浮点机表示的数码,若数码的阶数的位数是k位,尾数的位数是m位,则整数N的取值范围为:如果不考虑数码的位数,计算机运算时会出现“机器零”或者“溢出”的情况。证明孪生素数的猜想,需要考虑的素数p有无穷多个,不能利用“穷举法”对所有的p+2的数字一一列举进行判断。如果应用数学归纳法的思想,则必须作某些假设。

由于计算机的二进制运算仅与逻辑电路或者布尔代数有关系,其运算规则和结果不因计算机的二进制数码的位数多少而引起变化。因此,可以作以下假设。

假设:已知计算机限制的整数的最大取值为n,p为无穷多个素数p1

在假设中,显然,R(k+1)?劢R(k),R(k+1)-R(k)=k+1,仅仅多一个k+1的数字。如果计算机对整数的取值范围没有限制,可以设k为任意大的整数,但是不会当k大到某一整数之后,j≡i,因为素数p有无穷多个,可能成为素数的k+1的数也有无穷多个,故j≥i的情形有无穷多。

2 证明猜想

在所有的素数中,如果p是素数,且p+2也是素数,则称(p,p+2)为一对孪生素数。因而数论中孪生素数的哥德巴赫猜想,可以用下面的定理表述:[1]

定理:有无穷多个素数p使得p+2也是素数。

根据定理编写程序,首先假设p是任意的素数,然后从所有p+2的数中筛选出全部素数,并证明其数目有无穷多个。用C语言编写的源程序代码如下:

可以任意举一个计算机取值范围内的正整数,例如,取max=k=100,利用C-Free 5 CJY版运行程序prime.c的结果显示,若p为素数,则不大于100的p+2的素数是:

7,13,19,31,43,61,73。

实际上5和3也构成一对孪生素数,相对于3,5也是一个p+2的素数,在运算结果中没有显示,原因是相对于运算结果中的p+2的素数7,5又是一个p的素数,不能同时出现在p+2的素数中。类似的情况在后面的p+2的素数里可能还会有很多,但是这些情况不影响证明p+2的素数有无穷多个。

那么,当max=k+1=101时,利用C-Free 5 CJY版运行程序prime.c的结果显示,若p为素数,则不大过101的p+2的素数也是:

7,13,19,31,43,61,73,

这相当于假设中的j=i的情况。如果取max=k=102,prime.c运算的结果仍然和上述p+2的素数一样,但是当max=k+1=103时,利用C - Free 5CJY版运行prime.c,得到p+2的素数为:7, 13, 19, 31, 43, 61, 73, 103,

这相应于假设中j >i的情况。如果计算机的整数取值范围没有限制,则可以取任意大的k以及k+1进行验证。

因而,根据假设,利用C- Free 5 CJY版运行程序prime.c的数字结果表明:可以找到无穷多个素数p,相应的p+2亦为素数。定理得以证明。

【参考文献】

[1]陈景润.陈景润文集[M].江西教育出版社,1998:346-347.

[2]王元.解析数论在中国[J].自然杂志,1980,3(8):568-570,592.

[3]日本数学会编.数学百科辞典(中译本)[M].科学出版社,1984:42-45.

[责任编辑:汤静]