素數定理相關的研究

2021-10-17 07:35:04 字數 943 閱讀 1419

a 小於等於n

當a等於0時,上式就是高斯提出的素數定理,當a等於n時上式顯然成立。a越大,上式求出的結果越精確,但是a越大

a到n素數個數約為:

上式求解很複雜,黎曼素數計數公式推導過程有介紹上式的求解,太過專業,一般人看不懂吧。我們利用尤拉乘積公式處理,上式約等於:

再利用積分處理,上式約等於:

上式還存在一定誤差,主要原因有兩個,一是尤拉乘積公式本身不夠精確,二是用積分代替求和會出現一些偏差。當然,這些都可以優化,但沒增加一步優化,就會增加一定的計算量。

import math

n = 1e15

a = 1e14

pi_a = 3204941750802 #查表可是小於等於a的陣列個數為這麼多

pi_n = 29844570422669 #查表可是小於等於n的陣列個數為這麼多

gao_pi_n = (n) / (math.log(n))

print("優化之前的pi_n", gao_pi_n)

my_pi_n = (n - a) / math.log(n) + pi_a

print("優化之後的pi_n", my_pi_n)

print("優化之前的誤差", pi_n - gao_pi_n)

print("優化之後的誤差", pi_n - my_pi_n)

輸出結果:

優化之前的pi_n 28952965460216.79

優化之後的pi_n 29262610664997.11

優化之前的誤差 891604962452.2109

優化之後的誤差 581959757671.8906

如此看來,效果並不明顯,哎喲。

數論 素數 素數相關基礎 尤拉函式與尤拉定理

尤拉定理與尤拉函式在數論方面的應用十分廣泛,幾乎所有的形如a n k 1的東西都可以往上靠。這裡暫時不細說怎麼用,先講基礎內容。1 尤拉函式 尤拉函式 n 表示不超過n且與n互素的正整數的個數 計算公式為 n n 1 1 p1 1 1 p2 其中p1,p2 為n的質因數 2 尤拉定理 若a,n是正整...

關於素數的研究

首先需要講的是這篇文章,太精闢了 1.最簡單的求素數 bool isprime int primes,int n 2.得到乙個素數表 構造素數序列primes void makeprimes int primes,int num if flag primes cnt i 如上是得到乙個純素數表,而使...

素數定理 應用

用法 給你乙個數x 這個數可能非常大 讓你找出小於x的素數個數的位數,素數個數我們記作 x 素數定理 當x增大時,x x lnx 無線趨近於1 趁熱打鐵 素數個數的位數 小明是乙個聰明的孩子,對數論有著很濃烈的興趣。他發現求1到正整數10n 之間有多少個素數是乙個很難的問題,該問題的難以決定於n 值...