nefu117 素數個數的位數 (素數定理)

2021-08-28 17:27:43 字數 831 閱讀 3247

problem:117

time limit:1000ms

memory limit:65536k

小明是乙個聰明的孩子,對數論有著很濃烈的興趣。他發現求1到正整數10n 之間有多少個素數是乙個很難的問題,該問題的難以決定於n 值的大小。現在的問題是,告訴你n的值,讓你幫助小明計算小於10n的素數的個數值共有多少位?
輸入資料有若干組,每組資料報含1個整數n(1 < n < 1000000000),若遇到eof則處理結束。
對應每組資料,將小於10n 的素數的個數值的位數在一行內輸出,格式見樣本輸出。同組資料的輸出,其每個尾數之間空一格,行末沒有空格。
3

7

3

6

題解:

本題需要知道素數定理是啥!

素數定理:記π(n)是<=n的素數個數,那麼有

乙個數x的位數能夠用lg(x)+1來求(今天剛知道可以這麼求乙個數的位數)

所以主需要求lg(n/inn)+1,因為n=10^n;

代入得出n-lg(n)-lg(ln10);

c語言中只定義的兩個函式: y=log (double x);和y=log10 (double x);前者代表數學式中的 ln,而後者表示數學式中的 lg,至於數學上要求loga(b)(a不為e和10),可用換底公式表示為log(b)/log(a)。要包含標頭檔案math.h。 

#include#includeusing namespace std;

#define ll long long

int main()

return 0;

}

NEFU 117 素數個數的位數

定義 x 為 1 到 x的素數個數。素數定理 隨著x的增長,x x ln x 1 推論 令pn是第n個素數,其中n是正整數,那麼pn n ln n 題意 求小於10的n次方的素數的個數共有多少位,n 1e9 題解 這道題的資料量很大,因為10的n次方很大,會溢位,不能直接運算,該題只是求素數分布值的...

NEFU 117素數個數的位數

題目傳送門 點選開啟鏈結 小明是乙個聰明的孩子,對數論有著很濃烈的興趣。他發現求1到正整數10n 之間有多少個素數是乙個很難的問題,該問題的難以決定於n 值的大小。現在的問題是,告訴你n的值,讓你幫助小明計算小於10n的素數的個數值共有多少位?輸入資料有若干組,每組資料報含1個整數n 1 n 100...

nefu117 素數個數的位數 素數定理 位數公式

小明是乙個聰明的孩子,對數論有著非常濃烈的興趣。他發現求1到正整數10n 之間有多少個素數是乙個非常難的問題,該問題的難以決定於n 值的大小。如今的問題是,告訴你n的值,讓你幫助小明計算小於10n的素數的個數值共同擁有多少位?輸入資料有若干組,每組資料報括1個整數n 1 n 1000000000 若...