哥德巴赫猜想的Python驗證_第1頁
哥德巴赫猜想的Python驗證_第2頁
哥德巴赫猜想的Python驗證_第3頁
哥德巴赫猜想的Python驗證_第4頁
哥德巴赫猜想的Python驗證_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯—6—哥德巴赫猜想的Python驗證

王德貴丁大為

哥德巴赫猜想,是世界近代三大數(shù)學(xué)難題之一。華羅庚是中國最早從事哥德巴赫猜想的數(shù)學(xué)家。1936—1938年,他赴英留學(xué),師從哈代研究數(shù)論,并開始研究哥德巴赫猜想,驗證了幾乎所有的偶數(shù)猜想。1966年,華羅庚的學(xué)生陳景潤在對篩法做了新的重要改進(jìn)后,證明白“1+2〞,他證明白任何一個充分大的偶數(shù),都可以表示為兩個數(shù)之和,其中一個是質(zhì)數(shù),另一個或為質(zhì)數(shù)或為兩個質(zhì)數(shù)的乘積,被稱為“陳氏定理〞,這在當(dāng)時影響很大,但之后就再也沒有什么研究進(jìn)展了。一、哥德巴赫猜想內(nèi)容

哥德巴赫猜想,是數(shù)學(xué)史上和質(zhì)數(shù)有關(guān)的數(shù)學(xué)猜想,影響了一代又一代數(shù)學(xué)家。

1742年6月7日,德國數(shù)學(xué)家哥德巴赫在寫給有名數(shù)學(xué)家歐拉的一封信中,提出了一個大膽的猜想:任何不小于3的奇數(shù),都可以是三個質(zhì)數(shù)之和(如:7=2+2+3。當(dāng)時1仍屬于質(zhì)數(shù))。

同年,6月30日,歐拉在回信中提出了另一個版本的哥德巴赫猜想:任何偶數(shù),都可以是兩個質(zhì)數(shù)之和(如:4=2+2。當(dāng)時1仍屬于質(zhì)數(shù))。

這就是數(shù)學(xué)史上有名的“哥德巴赫猜想〞。由于1已經(jīng)不歸為質(zhì)數(shù),所以這兩個猜想分別變?yōu)椋?/p>

任何不小于7的奇數(shù),都可以寫成三個質(zhì)數(shù)之和的形式;

任何不小于4的偶數(shù),都可以寫成兩個質(zhì)數(shù)之和的形式。

20世紀(jì),隨著計算機(jī)技術(shù)的發(fā)展,數(shù)學(xué)家們發(fā)現(xiàn)哥德巴赫猜想對于更大的數(shù)依舊成立。但自然數(shù)是無限的,無法判斷是否存在某一個足夠大的偶數(shù),成為哥德巴赫猜想的反例,但數(shù)學(xué)家們?nèi)栽诓粩嗟拿髦?,尋求著各種不同的解決方法。

假如想了解更深入的知識,大家可以參考相關(guān)資料。今天我們只利用Python做基本驗證。二、創(chuàng)意來源

在Python學(xué)習(xí)過程中,嘗試解決一些問題,特別是世界數(shù)學(xué)難題,不僅是一種樂趣,同時也能學(xué)到數(shù)學(xué)知識,了解一些數(shù)學(xué)發(fā)展歷史,也可以提高學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性,更能加深理解程序的優(yōu)化與調(diào)試。三、設(shè)計思路

“關(guān)于偶數(shù)的哥德巴赫猜想〞,我們可以將要分析的任一正整數(shù)減去一個質(zhì)數(shù),然后看看結(jié)果是不是也為質(zhì)數(shù),這是一種方法;還有一種方法就是遍歷質(zhì)數(shù),看看有沒有符合條件的兩個質(zhì)數(shù)。

“關(guān)于奇數(shù)的哥德巴赫猜想〞,我們可以將要分析的任一正整數(shù)減去一個質(zhì)數(shù),然后看看結(jié)果是不是也為質(zhì)數(shù),這是一種方法;還有一種方法就是遍歷質(zhì)數(shù),看看有沒有符合條件的三個質(zhì)數(shù)。

這幾種方法的基礎(chǔ)都需要把正整數(shù)范圍內(nèi)的質(zhì)數(shù)先求出來。我們用列表形式將質(zhì)數(shù)存儲,計算和訪問很便利。四、Python驗證

1.關(guān)于偶數(shù)的哥德巴赫猜想

任何不小于4的偶數(shù),都可以寫成兩個質(zhì)數(shù)之和的形式。

這個猜想的理解是,4=2+2,6=3+3,8=3+5,10=3+

7,12=5+7……有無數(shù)個,我們無法一一列舉,通過編程也只能驗證有限范圍,否則運(yùn)行時間將無限延長。

(1)方法一:遍歷質(zhì)數(shù)列表,取出兩個質(zhì)數(shù)驗證

程序有兩部分,一是建立質(zhì)數(shù)列表,二是在列表中確定有沒有滿足條件的質(zhì)數(shù)。有一組則程序終止,并顯示出來(圖1)。

也可以利用自定義函數(shù),程序如圖2。

要求出不小于這個偶數(shù)范圍內(nèi)的質(zhì)數(shù),于是把質(zhì)數(shù)獲取做了自定義函數(shù),利用列表把質(zhì)數(shù)列舉出來,然后便于下一步計算和驗證。

輸入不小于4的偶數(shù)后,調(diào)用自定義函數(shù),把這個范圍內(nèi)的質(zhì)數(shù)放在列表里,然后利用枚舉算法,在列表中取兩個數(shù),驗證是否等于輸入的偶數(shù),假如等于偶數(shù),即輸出。

這兩個程序運(yùn)行結(jié)果是完全一樣的,它們都是在質(zhì)數(shù)列表里任意取兩個數(shù),驗證其和是不是等于輸入的偶數(shù)。

(2)方法二:判斷偶數(shù)與質(zhì)數(shù)的差是否為質(zhì)數(shù)

這種方法減小了時間繁雜度,運(yùn)行速度更快,程序如圖3。

測試結(jié)果如圖4。

2.關(guān)于奇數(shù)的哥德巴赫猜想

任何不小于7的奇數(shù),都可以寫成三個質(zhì)數(shù)之和的形式。

根據(jù)前面的驗證,修改程序,便可以驗證“關(guān)于奇數(shù)數(shù)的哥德巴赫猜想〞。即多加一重for循環(huán),同時判斷輸入數(shù)與兩個質(zhì)數(shù)之差是否也為質(zhì)數(shù),假如是,則輸出算式,程序終止(圖5)。

驗證結(jié)果如圖6。

五、測試與改進(jìn)

1.測試解的個數(shù)

我們前面的程序,只顯示了一組解。其實,輸入任意一個不小于4的偶數(shù),都至少能表示為一對質(zhì)數(shù)之和,輸入任意一個不小于7的奇數(shù),都至少有一組能表示為三個質(zhì)數(shù)之和,假如想全部算式都顯示出來,只要刪除程序中“break〞相關(guān)的語句即可。

譬如,“關(guān)于偶數(shù)的哥德巴赫猜想〞,修改程序如圖7。

運(yùn)行結(jié)果如下,這里進(jìn)行了去重(圖8)。

“關(guān)于奇數(shù)的哥德巴赫猜想〞,修改程序如下,運(yùn)行后發(fā)現(xiàn)滿足條件的解好多,但卻是有重復(fù)的(圖9)。

輸入23,得到21組解,那如何去重呢?大家利用列表或集合都可以實現(xiàn),這里不再贅述(圖10)。

2.驗證是否包括所有整數(shù)

所有偶數(shù)和奇數(shù),我們不能一一驗證,那么在一定范圍內(nèi),是否包括所有值呢?我們來驗證一下。

(1)驗證一定范圍內(nèi)所有偶數(shù)

將一定范圍內(nèi)的質(zhì)數(shù)存入列表,然后遍歷列表求和,假如和的所有值,包含了所有偶數(shù),則說明任意偶數(shù)都可以表示為兩個質(zhì)數(shù)的和。

程序中,運(yùn)用集合去重和做差,檢驗是否包含所有偶數(shù)。

50范圍內(nèi)的驗證,同樣只顯示了一組解(圖11)。

(2)驗證一定范圍內(nèi)所有奇數(shù)

將一定范圍內(nèi)的質(zhì)數(shù)存入列表,然后遍歷列表求和,假如和的所有值,包含了所有奇數(shù),則說明任意奇數(shù)都可以表示為三個質(zhì)數(shù)的和。

程序中,同樣運(yùn)用集合去重和做差,檢驗是否包含所有奇數(shù)。

50范圍內(nèi)的驗證,同樣只顯示了一組解(圖12)。

通過測試,在一定范圍內(nèi),均得到了驗證,但數(shù)值過大時,用時較長。當(dāng)然我們要證明一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論