陳蓓菲
【摘要】本文給出了一個大偶數分解成為二個素數獨特的分解式(3)式,證明它有解,并給出對于(3)式的充分條件和必要條件的證明.
【關鍵詞】哥德巴赫猜想;大偶數;素數
哥德巴赫猜想是世界近代三大數學難題之一.哥德巴赫是德國一位中學教師,也是一位著名的數學家,生于1690年,1725年當選為俄國彼得堡科學院院士.1742年,哥德巴赫在教學中發現,每個不小于6的偶數都是兩個素數(只能被1和它本身整除的數)之和.如,6=3+3,12=5+7,等等.
1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,提出了以下猜想:
(a)任何一個大于等于6之偶數,都可以表示成兩個奇素數之和.
(b)任何一個大于等于9之奇數,都可以表示成三個奇素數之和.
歐拉在回信中也提出另一等價版本,即任一大于2的偶數都可寫成兩個素數之和.今日常見的猜想陳述為歐拉的版本.把命題“任一充分大的偶數都可以表示成一個素因子個數不超過a個的數與另一個素因子不超過b個的數之和”記作“a+b”.1966年陳景潤證明了“1+2”成立,即“任一充分大的偶數都可以表示成二個素數的和,或是一個素數和一個半素數(二個素數的積)的和”,我不能認同陳景潤的做法,因為,其在很大程度上偏離了原題.
摘譯1742年6月30日歐拉給哥德巴赫的一封信:
“正如在你給我的來信中所觀察到的那樣,每個偶數看來是兩個素數之和,還蘊藏著每個數如果是兩個素數之和,則它可以是任意多個素數之和,個數由你而定.如果給定一個偶數n,則它是兩個素數之和,對n-2也是如此,則n是三到四個素數之和.如果n是奇數,則它一定是三個素數之和,因為n-1是兩個素數之和.所以,n是一個任意多個素數之和.雖然我現在還不能證明,但我肯定每個偶數是兩個素數之和……”
一、下面引述前人研究的基礎
(一)殆素數
殆素數就是素因子個數不多的正整數.現設N是偶數,雖然不能證明N是兩個素數之和,但足以證明它能夠寫成兩個殆素數的和,即N=A+B,其中A和B的素因子個數都不太多,譬如,素因子個數不超過10.用“a+b”來表示如下命題:每個大偶數N都可表示為A+B,其中A和B的素因子個數分別不超過a和b.顯然,哥德巴赫猜想就可以寫成“1+1”.在這一方向上的進展都是用所謂的篩法得到的.
(二)例外集合
在數軸上取定大整數x,再從x往前看,尋找使得哥德巴赫猜想不成立的那些偶數,即例外偶數.x之前所有例外偶數的個數記為E(x).我們希望,無論x多大,x之前只有一個例外偶數,那就是2,即只有2使得猜想是錯的.這樣一來,哥德巴赫猜想就等價于E(x)永遠等于1.當然,直到現在還不能證明E(x)=1;但是能夠證明E(x)遠比x小.在x前面的偶數個數大概是x2;如果當x趨于無窮大時,E(x)與x的比值趨于零,那就說明這些例外偶數密度是零,即哥德巴赫猜想對于幾乎所有的偶數成立.這就是例外集合的思路.
(三)三素數定理
如果偶數的哥德巴赫猜想正確,那么奇數的猜想也正確.我們可以把這個問題反過來思考.已知奇數N可以表示成三個素數之和,假如又能證明這三個素數中有一個非常小,譬如,第一個素數可以總取3,那么我們也就證明了偶數的哥德巴赫猜想.這個思想就促使潘承洞先生在1959年,即他25歲時,研究有一個小素變數的三素數定理.這個小素變數不超過N的θ次方.我們的目標是要證明θ可以取0,即這個小素變數有界,從而推出偶數的哥德巴赫猜想.潘承洞先生首先證明了θ可取14.后來的很長一段時間內,這方面的工作一直沒有進展,直到1995年展濤教授把潘老師的定理推進到7120.這個數已經比較小了,但是仍然大于0.
(四)幾乎哥德巴赫問題
1953年,林尼克發表了一篇長達70頁的論文.在文中,他率先研究了幾乎哥德巴赫問題,證明了,存在一個固定的非負整數k,使得任何大偶數都能寫成兩個素數與k個2的方冪之和.這個定理,看起來好像丑化了哥德巴赫猜想,實際上它是非常深刻的.我們注意,能寫成k個2的方冪之和的整數構成一個非常稀疏的集合.
二、推理與討論
下面給出對于哥德巴赫猜想(a)的證明,即:任何一個大于等于6之偶數,都可以表示成兩個奇素數之和.
一天晚上,我突然想起哥德巴赫猜想,感覺有戲,所以,就動起了筆桿子,我首先從遞歸原理出發,眾所周知,素數又是奇數,則當我假設有2K=C+D,K為正整數,C,D代表素數,那么有2q=C1+D1,2p=C2+D2,C1,D1,C2,D2,…代表素數,p,q代表正整數,則有2K+2=C+D+2=(2q+1)+(2p+1)+2=2q+2p+2+2=(C1+D1)+(C2+D2)+2+2=….
這樣拆分出許多2,其中奇數可以一直拆分到3為止,然后我們又將2的倍數補充至下式中,則一個大偶數2K+6可以由下式來決定:
2K+6=(3+2i)+(3+2(K-i)).(1)
我們讓2K+6來作為一個大偶數,分解出兩個奇數之和,這兩個奇數分別用(3+2i)和(3+2(K-i))來表示,而在數軸上移動多少個2會使得(3+2i)和(3+2(K-i))成為素數,即當K定下來以后,就是由i的大小來決定什么時候分解成兩個素數之和.
所以,問題是,對于一個大偶數2K+6,至少存在一個i,使得上面(1)的分解式子成立.
這樣,對于K=10而言,2K+6=26,存在一個i=5,使得
2K+6=(3+2i)+(3+2(K-i))=13+13=26.
對于K=10而言,還存在另一個i=2,使得
2K+6=(3+2i)+(3+2(K-i))=7+19=26.endprint
而對于K=11,則存在一個i=4使得上式(1)成立,有
2K+6=(3+2i)+(3+2(K-i))=11+17=28.
更有i=1使得上式(1)成立,有
2K+6=(3+2i)+(3+2(K-i))=5+23=28.
明眼人一看就知道它的正確性,我以前也想過哥德巴赫猜想,但都沒有這一次想得如此透徹.
對于哥德巴赫猜想,還有值得進一步探討的時間和空間,對于(1)式,我們在3的基礎上加了兩個偶數2i和2(K-i),得到兩個永遠的奇數或者奇素數,這樣就篩選掉了偶數,去掉了一半不合格的偶數,但是,里面還有水分,我們還必須把純粹的奇數去掉,但是這樣也已經向一個大偶數分解成兩個素數之和邁進了一大步.
對于(1)式,0≤i≤K,這樣,對于2K而言,i只走了一半少6,對于K=1 000而言,2K+6=2 006,i的取值的試探空間只在0≤i≤1 000,這樣有點像二分法,把2的數倍的偶數分別加到初始的3上面.
不管怎樣,我們必須想辦法把(1)式中分解式子中的非素數的奇數去掉,但是,這是艱難的一個環節,我們用
(3+2i)|(1,(3+2i))和(3+2(K-i))|(1,(3+2(K-i)))來表示這兩個數只能被1和它本身所整除,不能被2,3和直到它本身減1所整除.
我們試圖去掉水分,去掉奇數,剩下素數,這樣讓我們來試一試去掉3的倍數,此時(1)式中的(3+2i)≠3a和(3+2(K-i))≠3b,假設a,b都是自然數,3a和3b用來表示3的倍數,可以把它們當作兩個常數,K也理所當然當作一個常數,所以i至少有一個解.
我們還必須去掉5的倍數,7的倍數,…,直至華羅庚定理的平方根數,即(3+2i)的平方根取整數和(3+2(K-i))的平方根取整數,但是,即使在數軸上去掉這么多正整數,其仍然存在一些素數,滿足一個大偶數可以分解成兩個素數之和,這樣一個命題.
3的倍數的情況是這樣,5的倍數的情況是這樣,7的倍數的情況是這樣,以此類推,直至華羅庚的平方數取整數,因此,我們可以將式子寫成
2K+6=(3+2i)|(1,(3+2i))+(3+2(K-i))|((1,(3+2(K-i)))(3)
來表示它的分解式,即一個大偶數可以分解成兩個素數之和.
雖然,去掉的非素數很多,但是,仍然存在我們所需要的素數,可能只有一兩個式子而已,這樣已經足夠說明問題了.下面我會給出一個范圍之內的大偶數的分解式子計算機程序,即分解成兩個素數之和的C語言程序.
#include
#include
int main() {
int k,m,n,c,d,i,j,p,flag1,flag2;/*m代表一個大偶數,n代表6至m之間的偶數,并分解成c+d*/
int prime_number(int);
freopen("H:\\ch1.in","r",stdin);
freopen("H:\\ch2.out","w",stdout);
printf("附表1\\n");
printf("----------------\\n");
printf("Hello,world?。埽躰");
printf("歡迎來到哥德巴赫夢想園地,我們將在這里見證一個又一個大偶數分解成兩個素數之和\\n");
printf("----------------\\n");
/*printf("k=");*/
/*scanf("%d",&k);*/
k=1000;
m=2*k+6;
for(n=6;n<=m;n=n+2)
{ p=0;
for(i=3;i<=n/2;i=i+2)
{flag1=prime_number(i);
if(flag1==0){c=i;j=n-i;flag2=prime_number(j);
if(flag2==0){d=j;printf("%-4d=%-4d+%-4d",n,c,d);p=p+1;if(p%3==0) printf("\\n");}}}
printf("\\n---------------\\n");}
return 0;}
int prime_number(int i0)
{int k1,i1,flag=0;
k1=(int)sqrt((double)i0);i1=2;
while((i1<=k1)&&(flag==0))
{if(i0%i1==0) flag=1;
i1=i1+1;}
return(flag);}
我們在以上程序中引用了“哥德巴赫夢想園地”一詞,而不用“哥德巴赫猜想園地”,是因為證明哥德巴赫猜想是我的夢想,而且,“夢想園地”也遠比“猜想園地”要順暢得多,整個證明和說明過程通透易懂,就像一個家庭主婦在做一桌菜,雖然樸素無華,卻也了如指掌,這就是一個家庭主婦暨大學副教授的貢獻.
如上,我已經成功調試了哥德巴赫猜想分解程序,并以6~2 006之間的偶數為例做了分解式,結果太多太長(略),由結果可見,這之間的每一個偶數至少有一個分解式,這樣,哥德巴赫猜想研究暫告一段落.
然而,哥德巴赫猜想總是弄得我寢食不安,我不能停滯不前,我還必須做點什么,我反復思考,分解式(3)
可以理解成數軸上的兩個素數之和,而數軸上的素數是大量存在的.數軸上的任意兩個素數之和一定是偶數,是因為,素數也是奇數,兩個奇數之和一定是偶數,所以,我們就說這個分解式的充分條件成立.
我仍然反復思考著,讓我們來試試哥德巴赫猜想的必要條件是否成立,就是說“任一個大偶數必能分解成兩個素數之和”.當我們把分解式寫成(3)式,
我們要做的就是找到一個i使得上式成立.
讓我們來各個擊破,對于(3)式,我們知道存在至少一個i使得下述兩個約束條件即(4)式和(5)式成立:
(3+2i)=(3+2i)|(1,(3+2i)),(4)
(3+2(K-i))=(3+2(K-i))|(1,(3+2(K-i))).(5)
從上述兩個式子看來,當K定下來以后,K可以看作是常數,所以方程式(3)隨著K的變化,不但有解,而且可能不止一個解,所以,這就說明了一個大偶數必能分解成兩個素數之和,這就是必要條件成立.
至此,我在心里為自己擊掌叫好,這樣的問題,我們不要陷入具體的分解式的怪圈,比如,26=13+13,28=11+17,因為,分解式變化多端,我們要的是從理論上證明它,我終于把它想了個通透,對于分解式(3)式,證明了它的充分條件和必要條件.具體的分解式,我們可以通過電腦程序來幫助我們建立分解式.
這些,只是一些證明哥德巴赫猜想的思路,它就像一些骨架,我試圖豐富它,試圖更加專業化它,試圖給它加進一些肉和新鮮血液,讓它變得有血有肉,讓它變得生動,讓它變得更加專業術語化,但是數學就是數學,它來不得半點的虛偽,我想,也只有我膽敢提出(3)式那樣的分解式,也只有我能夠有那樣另辟蹊徑的證明思路.
對于(4)和(5)兩個式子,并非憑空捏造,也并非沒有意義,它們是要說明素數的存在,如果有i使得上面兩個式子成立,說明有解,說明(3+2i)和(3+2(K-i))兩個數此時為素數,而對于一個大偶數而言,K是常數,當我們要證明所有的大偶數的時候,K才成為變量.
對于哥德巴赫猜想,我們以上這樣做的目的是證明有解,即存在一個i使得(3)式成立.
它,妙就妙在只要證明有解就夠了,因為分解式是沒有規律可言的,所以,觸發我這樣做.
至此,我們證明了哥德巴赫猜想(a),即任何一個大于等于6之偶數,都可以表示成兩個奇素數之和.
由于有了上述對哥德巴赫猜想(a)的證明,應用(3)式的結果,這樣我們來證明哥德巴赫猜想(b),即任何一個大于等于9之奇數,都可以表示成三個奇素數之和,我們可以設以下式子:
2K+9=(2K+6)+3=(3+2i)|(1,(3+2i))+(3+2(K-i))|(1,(3+2(K-i)))+3.(6)
上式(6)將其分解成三個奇素數之和.
這樣,我們就證明了,1742年6月7日哥德巴赫寫信給當時的大數學家歐拉,提出的以下猜想:
(a)任何一個大于等于6之偶數,都可以表示成兩個奇素數之和.
(b)任何一個大于等于9之奇數,都可以表示成三個奇素數之和.
【參考文獻】
[1]王麗麗,李小凝.陳景潤傳[M].北京:新華出版社,1998.endprint