篩素數,求區間內素數個數

2021-10-04 18:21:29 字數 679 閱讀 1332

問題 1525: [藍橋杯][演算法提高vip]找素數

時間限制: 1sec 記憶體限制: 128mb 提交: 1179 解決: 133

題目描述

給定區間[l, r] , 請計算區間中素數的個數。

資料規模和約定

2 < = l < = r < = 2147483647 r-l < = 1000000

輸入兩個數l和r。

輸出一行,區間中素數的個數。

樣例輸入

2 11

樣例輸出

5解題報告:用sqrt(r)以內的數篩掉r以內的所有合數,因為區間小於等於1e6開這麼大的陣列就夠了,陣列下標記錄的是這個數和l的相對差。注意該題的大優化。

#include#include#include#include#include#include#include#include#include#define il inline

#define x first

#define y second

typedef long long ll;

using namespace std;

const int n=1000010;

bool f[n];

bool t[n];

void init(ll l, ll r)

埃氏篩法求給定區間內素數個數

題目原型 給定整數a,b,請問區間內有多少個素數?應對策略 預備知識 埃氏篩法 思想是首先預設所有數都是素數,然後從2開始,對每個數字進行遍 歷,如果該數字是素數,那麼它的倍數就不是素數,與單獨判斷每個 數字是不是素數相比,如此可以大大減少判斷素數的時間。int prime max n bool i...

判斷區間內的素數個數

package method public class stest package method 編寫乙個有兩個執行緒的程式,第乙個執行緒用來計算2 100000之間的素數的個數,第二個執行緒用來計算100000 200000之間的素數的個數,最後輸出結果 author administrator ...

尤拉篩 素數 素數個數

素數個數 題目描述 求1,2,cdots,n1,2,n 中素數的個數。輸入輸出格式 輸入格式 1 個整數n。輸出格式 1 個整數,表示素數的個數。輸入輸出樣例 輸入樣例 1 複製 10輸出樣例 1 複製4說明 對於40 的資料,1 n 10 6 對於80 的資料,1 ln 10 7 對於100 的資...