艾氏篩法資料

2022-05-13 11:03:56 字數 557 閱讀 4594

給出要篩數值的範圍n,找出

以內的素數

。先用2去篩,即把2留下,把2的倍數剔除掉;再用下乙個質數,也就是3篩,把3留下,把3的倍數剔除掉;接下去用下乙個質數5篩,把5留下,把5的倍數剔除掉;不斷重複下去......。

詳細列出演算法如下:

列出2以後的所有序列:

標出序列中的第乙個素數,也就是2,序列變成:

將剩下序列中,劃摽2的倍數(用紅色標出),序列變成:

如果現在這個序列中最大數小於最後乙個標出的素數的平方,那麼剩下的序列中所有的數都是素數,否則回到第二步。

本例中,因為25大於2的平方,我們返回第二步:

剩下的序列中第乙個素數是3,將主序列中3的倍數劃出(紅色),主序列變成:

我們得到的素數有:2,3

25仍然大於3的平方,所以我們還要返回第二步:

現在序列中第乙個素數是5,同樣將序列中5的倍數劃出,主序列成了:

我們得到的素數有:2 3 5 。

因為25等於5的平方,跳出迴圈.

結論:去掉紅色的數字,2到25之間的素數是:2 3 5 7 11 13 17 19 23。

艾氏篩法研究

計算輸出1億以內的質數.當然一上來這個所有的偶數乾掉.2直接輸出.這個是我的 最後步長330130093 也就是這麼多步.下面的是老師的 步長99151769 初步計算速度是我的三倍.姜還是老的辣.我的其實還有優化的空間.暫時不去想了.備考去.include stdio.h include math...

poj 3292 艾氏篩法的變型

題意 有一種數叫h number,什麼是h number,就是等於4 n 1的數,所有的h number mod 4 等於 1。h number分為h prime和h composite兩類,h prime是不能被自己和1以外的其他h number 整除的數。剩下的就都是h composite數了。...

質數篩 埃氏篩

我們來看這麼一道問題 給定乙個範圍n,你需要處理m個某數字是否為質數的詢問 每個數字均在範圍1 n內 n 10000000,m 100000 首先很容易聯想到使用列舉法來確定題目的整體框架 for i 1 m else 關鍵在於質數判斷部分。質數的判斷問題我們可以從定義出發。質數,又稱素數,是除了1...