篩選法求素數

2021-09-11 14:52:24 字數 1878 閱讀 2470

判斷100以內的素數有哪些

#include#includeusing namespace std;

int main()

for(int i=2;i<=100;i++)//判斷內層迴圈裡的數能否被1到100內的數整除

}} }

for(int i=2;i<=100;i++)

for(int i=2;i當n的值很大時,如n=10000000;用一下方法

我要尋找從1到15裡的素數  (紅色代表被篩選掉,不是素數)

第1步:1是素數我不用管,不需要篩選掉1的倍數

1   2   3   4   5   6   7   8   9  10   11   12   13   14   15

第2步:2沒有被前面的篩選掉,所以2是素數,然後篩選掉2的倍數 4 6 8 10 12 14

1   2   3   4   5   6   7   8   9  10   11   12   13   14   15

第3步:3沒有被前面的篩選掉,那麼3是素數,然後篩選掉3的倍數 6 9 12 15

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15

第4步:4被前面的篩選掉了,不是素數,所以跳過此步驟

第5步:5沒有被前面的篩選掉,那麼5是素數,然後篩選掉5的倍數 10 15

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15

第6步:6被前面的篩選了,不是素數,所以跳過此步驟

第7步:7沒有被前面的篩選掉,那麼7是素數,然後篩選掉7的倍數 14

1   2   3   4    5    6   7   8  9   10   11   12    13    14   15

第8步:8被前面的篩選了,不是素數,所以跳過此步驟

第9步:9被前面的篩選了,不是素數,所以跳過此步驟

第10步:10被前面的篩選了,不是素數,所以跳過此步驟

第11步:11沒有被前面的篩選掉,那麼11是素數,然後篩選掉11的倍數,11的倍數大於15了,沒得篩選

第12步:12被前面的篩選了,不是素數,所以跳過此步驟

第13步:13沒有被前面的篩選掉,那麼13是素數,然後篩選掉13的倍數,13的倍數大於15了,沒得篩選

第14步:14被前面的篩選了,不是素數,所以跳過此步驟

第15步:15被前面的篩選了,不是素數,所以跳過此步驟

所以篩選後的結果中,誰是素數顯而易見了.

1   2   3   4    5    6   7   8  9   10   11   12    13    14   15

素數是 1    2    3    5    7   11    13

**如下

#include#include#includeusing namespace std;

//const int n=1e6+10;

int book[101];

int p[101];

int cnt;

int main()

}} }

for(int i=0;i

第二種#include#include#includeusing namespace std;

//const int n 1e6+10;

int p[1000030],ip[100020],sum[1000000];

int k;

int main()

for(int i=2;i<=1000;i++)

}} for(int i=2;i<1000000;i++) }

for(int i=2;ireturn 0;

}

篩選法求素數

題目 求100以內的所有素數。求素數的演算法常考,篩選法求素數不常見。定義長度為101的int陣列a 101 初始化為1。依次測試1到100的所有數字是否為素數。若i為合數,則a i 0。篩選完畢後,所有非0元素a i 所對應的數字i為素數。include using namespace std i...

篩選法求素數

篩選法求素數 質數 prime number 又稱素數。乙個 大於1的自然數 除了1和它本身外,不能被其他自然數 質數 整除,換句話說就是該數除了1和它本身以外不再有其他的因數 否則稱為合數 一 一般求素數的方法 乙個數n的因子不會超過n,但是如果我們知道數n的乙個因子a後,另乙個因子b b n a...

篩選法求素數

一 素數的定義 對於素數的定義,維基百科上給出如下一段話 素數指在大於1的自然數中,除了1和此整數自身外,無法被其他自然數整除的數。比1大但不是素數的數稱為合數。二 利用電腦程式,很容易就可以得到不太大的素數。以c語言為工具來描述常見的判斷素數的函式 int isprime int n 這個函式並不...