NEFU 117 素數個數的位數 素數定理

2021-09-07 13:39:49 字數 812 閱讀 2269

題意:給你乙個整數n(n<1e9)。假設小於10^n的整數中素數的個數為π(n)。求π(n)的位數是多少。

思路:題目的資料量非常大,直接求肯定tle,所以考慮素數定理。

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

乙個數x的位數能夠用lg(x)+1來求,所以本題中lg(n/inn)+1就是所求,由於n=10^n。所以位數=lg(10^n)-lg(in(10^n))+1=n-lgn-lg(in(10))+1.

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#pragma comment(linker, "/stack:102400000,102400000")

using

namespace

std;

typedef

long

long ll;

const

int inf=0x3f3f3f3f;

const

double pi= acos(-1.0);

const

double esp=1e-7;

const

int maxn=1e6+10;

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 若...