CodeVS3223 素數密度

2022-04-06 01:51:46 字數 452 閱讀 9906

兩個數l和r

一行,區間中素數的個數

2 11

詳見試題

篩出2-sqrt(r)中的素數,然後用這些數篩l-r中的素數

pri存2-sqrt(r)中的素數

dpri 存r-l中的素數(向左平移l個)

#include#include#includeusing namespace std;

bool pri[50000000];

bool dpri[1000010];

long long l,r,q,cnt,ans,q2;

int main()

for (q2=l;q2%i&&q2while (q2<=i)q2+=i;

while(q2<=r)

} }for (int i=l;i<=r;i++) if (dpri[i-l]) ans++;

cout<}

codevs 3223 素數密度

題目描述 description 給定區間 l,r l r 2147483647,r l 1000000 請計算區間中素數的個數。輸入描述 input description 兩個數l和r 輸出描述 output description 一行,區間中素數的個數 樣例輸入 sample input 2...

素數密度 Standard IO

description 給定區間 l,r l r 2147483647,r l 1000000 請計算區間中素數的個數。input 兩個數l和r output 一行,區間中素數的個數。題解看到題目,很水啊。但一看到l,r的範圍,太恐怖了!資料範圍之大,所以不能乙個乙個列舉,用篩素來快速求出素數。因為...

NOIP模擬題 素數密度

問題描述 給定區間 l,r l r 2147483647,r l 1000000 請計算區間中素數的個數。輸入資料 兩個數l和r 輸出資料 一行,區間中素數的個數。樣例輸入 2 11 樣例輸出 5l和r範圍很大,但區間長度反而很小。考慮平移區間,將l和r的下標縮小 l是0,l 1是1 篩法求素數 1...