素數實驗報告

2022-05-24 12:39:02 字數 4058 閱讀 6362

素數一.實驗解讀

如果乙個大於1 的自然數只能被1及它本身整除,則稱該數為素數,否則稱為合數。每乙個合數都可以分解為若干個素數的乘積,並且在不計較素數排列順序時這種分解是唯一的,這就是所謂的算術基本定理。

mersenne數與fermat數是兩種具有特殊結構的數。mn=2^n-1,fn=2^(2^n)+1。

如果將素數在數軸上標出來,會發現素數的分布很不規則。我們需做實驗進一步觀察隨著整數範圍的擴大,素數是越來越稀還是越來越密?

關於素數還存在許許多多富於挑戰性的問題,如猜想;大整數的素因子分解;完全數;孿生素數猜想;青一色數的素數

二.實驗思路

1.素數的判別與個數

在大於1的自然數中,只能被1和它本身整除的數稱為素數。

規定nn=p1p2......pn+1,當n=1,...,20時判斷nn是否是素數,如果不是,那麼nn能不能表示成幾個素因子相乘的形式。 改變n的取值範圍,觀察得出結論。

根據以上的結果,猜測素數是否有無窮多個,並給出相關的證明。

2素數表的構造

用eratosthenes篩法和試除法列出1000內所有的素數,比較哪種方法所用的時間比較少。它們的原理為:

eratosthenes篩法的基本原理,將自然數列從2開始按順序排列至某一整數n,首先,從上述數列中劃除所有2的倍數(不包括2),在剩下的數中,除2外最小的是3.接著,從數列中劃除所有3的倍數(不包括3),然後在剩下的數中,再劃去5的倍數······

這個過程一直進行下去,則最後剩下的數就是不超過n的所有素數。

試除法的基本原理:假設我們已經知道前n個素數p1=2,p2=3,...,pn,為找下個素數,我們從pn+2開始依次檢驗每乙個整數n,看是否能被某乙個pi(i=1,2,...

,n)整除,若n能被前面的某個素數整除,則n為合數,否則n即為下乙個素數pn+1。為了提高效率我們只需要用不超過n^(1/2)的素數去除就可以了.

3素數的判別公式

對n=2 ,3 ,…, 100中不同的數,觀察m ^( n - 1)被n整除所得的餘數。

將m的值固定,變化n的值為2,3,……100

取m=2,觀察2 ^( n - 1)被n整除所得的餘數

取m=3,觀察3 ^( n - 1)被n整除所得的餘數

取m=4,觀察4 ^( n - 1)被n整除所得的餘數

………如果我們固定的是n的取值,變化m的值,那麼我們得出的結果又會怎樣?

取n=2,m=2,3,4,……,20,觀察m^( 2 - 1)被2整除所得的餘數

取n=3, m=2,3,……,20,觀察m^( 3 - 1)被3整除所得的餘數

取n=5,m=2,3,……,20,觀察m^( 5 - 1)被5整除所得的餘數

得出一般性結論,。

mersenne數的素性判別:

形如2^n-1的數稱為mersenne數,通過mersenne數我們可以研究數論中的相關性質。觀察並考慮mersenne數與n的關係,得出一般性的結論,

4.生成素數的公式

fermat數:我們把形如+1表示出來的數稱為fermat數。fermat數是否都是素數?在程式中增大n的值,很容易知道當n變大到乙個特定的值時,fermat數不再是素數。

既然fermat數不能作為素數的生成公式,那麼能不能尋求乙個整係數單變數多項式,使得它能生出所有的素數。

首先考慮一次函式,顯然是不行的。再考慮二次多項式,如:f(n)= +n+41,f(n)= -79n+1061,f(n)=6+6n+31,觀察是否無論n如何變化,f(n)都是素數。

若不是,再改變多項式的次數,觀察得出的結果有什麼不同。

若單變數整係數多項式不能生成所有的素數,那麼多變數整係數多項式呢?

判斷以上的f(n ,m)是否生成的均是素數,它們之間有什麼規律?

5.素數的分布

在上面的實驗中我們已經知道了素數是無窮多個的,而且素數的生成公式並不是很明了,但是它的分布會不會具有什麼樣的規律呢?

實驗中,用表示不超過n 的素數的個數,表示區間 [m,n] 內素數的個數,再計算﹑﹑以及﹑﹑﹑。從計算結果看,隨著範圍的擴大,素數是越來越稀還是越來越密?進一步,選取一些更長的區間,做同樣的實驗。

將這些點畫在圖中,從圖中能更清晰的看出素數的分布情況。

換乙個角度考慮,從兩個相鄰素數間距的大小同樣也可以看出素數的分布,這時我們還可以發現一些更有趣的規律。先求出1000以內的所有相鄰素數的間距,並將點以(,)的形式畫在直角座標系中,觀察影象的特點;增大n的值,再在另乙個圖中畫出,從這些點的分布可以看出素數的間隔值的某些特徵,以及它們的重複次數的多少,我們還發現:在增大n的值的同時,圖中的點也會隨之變高,也就是說最大間隔值在變化。

6. 用函式對素數的個數進行擬合

用函式對素數的個數進行擬合。先進行線性擬合,選取2到1000中所有的素數進行擬合,再改變擬合的多項式的次數,比較擬合效果。

將點(n,)標在平面座標系中,並且用折線把這些點連線起來,觀察的變化趨勢,然後在程式中增大n 的值,再觀察的變化趨勢,將的值與其它函式的值進行比較,看能否找出最接近的值的函式,即計算素數個數的公式,注意此時n應該充分大。

三.實驗過程與實驗結果

1素數的無窮性

假設已知前n個素數,它們從小到大的順序排列為p1=2,p2=3,.……,pn,對n=1,2,……,20,計算nn=p1p2……pn+1,問:

(1)nn是否都是素數?

(2)如果nn不是素數,nn是否含有不同與pi(i=1,2,……,n)的素因子?

mathematic程式如下:

nump[n_integer]:=

module[,

num=product[prime[i],]+1;

print[num," ",primeq[num]," ",factorinteger[num]

do[nump[n],]

實驗結果:

3 true }

7 true }

31 true }

211 true }

2311 true }

30031 false ,}

510511 false ,,}

9699691 false ,}

223092871 false ,}

6469693231 false ,,}

200560490131 true }

7420738134811 false ,,}

304250263527211 false ,,}

13082761331670031 false ,}

614889782588491411 false ,,}

32589158477190044731 false ,,,}

1922760350154212639071 false ,,,}

117288381359406970983271 false ,}

7858321551080267055879091 false ,}

557940830126698960967415391 false ,,,}

由此可以看出並不是所有的 nn=p1p2……pn+1都是素數,但是所得出的合數都能表示成若干個素數相乘的形式,與算術基本定理相符合。

根據以上的結果我們可以得出素數是間隔著出現的,兩個連續素數間間隔的合數個數也是不確定的,我們就有這樣的疑問:素數的個數是否是無窮的?

當n=20,21,..25,程式與結果如下:

nump[n_integer]:=

module[,

num=proct[prime[i],]+1;

print[n," ",num," ",primeq[ num]," ",factorinteger[num]]]

do[nump[n],]

20 557940830126698960967415391 false ,,,}

21 40729680599249024150621323471 false ,}

22 3217644767340672907899084554131 false ,,}

實驗報告電路實驗報告要求

三一文庫 報告范文 實驗報告 電路實驗報告要求 同學您好 電路實驗課已經結束,請按題目要求認真完成實驗報告,並要仔細檢查一遍,以免退回,具體要求如下 一 繪製電路圖要工整 選取合適比例,元件引數標註要準確 完整。二 計算題要有計算步驟 解題過程,要代具體資料進行計算,不能只寫得數。三 實驗中測試得到...

實驗報告 高中化學實驗報告

1 1 稱取4gnaoh,5.85gnacl 2 用量筒量取適量蒸餾水 3 置於燒杯中攪拌溶解冷卻 4 用玻璃棒將液體引流到1l的容量瓶中 5 再用蒸餾水洗燒杯,再引流到容量瓶中 6 用膠頭滴管定容 7 蓋上容量瓶蓋子,上下搖晃,混合均勻即可2 1 驗漏 2 用標準液和待測液潤洗滴定管 3 取高錳酸...

數學實驗實驗報告

天水師範學院數學與統計學院 實驗報告 實驗專案名稱 所屬課程名稱 實驗型別線性代數實驗 實驗日期 班級學號 姓名成績 附錄1 源程式 附錄2 實驗報告填寫說明 1 實驗專案名稱 要求與實驗教學大綱一致。2 實驗目的 目的要明確,要抓住重點,符合實驗教學大綱要求。3 實驗原理 簡要說明本實驗專案所涉及...