時間限制:1000 ms | 記憶體限制:65535 kb
難度:3 描述
現在給你乙個正整數n,要你快速的找出在2.....n這些數裡面所有的素數。
輸入給出乙個正整數數n(n<=2000000)
但n為0時結束程式。
測試資料不超過100組
輸出將2~n範圍內所有的素數輸出。兩個數之間用空格隔開
樣例輸入
5
1011
0
樣例輸出
2 3 5
2 3 5 7
2 3 5 7 11
#include #include #include //埃拉託斯特尼篩
#define max 2000005
int prime[max];
/*拓展 --> 篩法求素數:篩選法又稱篩法,具體做法是:先把n個自然數按次序排列起來。1不是質數,也不是合數,要划去。
第二個數2是質數留下來,而把2後面所有能被2整除的數都劃去。
2後面第乙個沒劃去的數是3,把3留下,再把3後面所有能被3整除的數都劃去。
3後面第乙個沒劃去的數是5,把5留下,再把5後面所有能被5整除的數都劃去。
這樣一直做下去,就會把不超過n的全部合數都篩掉,留下的就是不超過n的全部質數。
因為希臘人是把數寫在塗臘的板上,每要劃去乙個數,就在上面記以小點,
尋求質數的工作完畢後,這許多小點就像乙個篩子,所以就把埃拉託斯特尼的方法叫做「埃拉託斯特尼篩」,簡稱「篩法」。
(另一種解釋是當時的數寫在紙草上,每要劃去乙個數,就把這個數挖去,尋求質數的工作完畢後,這許多小洞就像乙個篩子。)
*/using namespace std;
int main(void)
int n = 1;
while (n)
return 0;
}
NYOJ 快速查詢素數
快速查詢素數 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在給你乙個正整數n,要你快速的找出在2 n這些數裡面所有的素數。輸入 給出乙個正整數數n n 2000000 但n為0時結束程式。測試資料不超過100組 輸出 將2 n範圍內所有的素數輸出。兩個數之間用空格隔開 ...
NYOJ 187 快速查詢素數
時間限制 1000 ms 記憶體限制 65535 kb 描述 現在給你乙個正整數n,要你快速的找出在2.n這些數裡面所有的素數。輸入給出乙個正整數數n n 2000000 但n為0時結束程式。測試資料不超過100組 輸出將2 n範圍內所有的素數輸出。兩個數之間用空格隔開 樣例輸入 5 1011 0 ...
快速查詢素數
題目 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在給你乙個正整數n,要你快速的找出在2.n這些數裡面所有的素數。輸入給出乙個正整數數n n 2000000 但n為0時結束程式。測試資料不超過100組 輸出將2 n範圍內所有的素數輸出。兩個數之間用空格隔開 樣例輸入 5...