篩選法求100以內的素數

2021-10-02 15:46:30 字數 665 閱讀 9766

step1: 初始化乙個a陣列,從a[2] 到a[100]以內都為自己。

step2:對每個數,如果可以被2,3,5,7,11,13..(素數)整除則該數設為0,(因為素數的倍數是可以被除1和本身以外的其它數整除,是合數)。

step3:列印出所有非0的數,即為素數。

**改自愛課程《c語言程式設計》--蘇小紅老師

#include #include using namespace std;

const int n = 100;

int main()

for(int i = 2; i <= sqrt(n); i++)

} }//output

int cnt = 0; // count number

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

} cout << endl << endl;

cout << "the number of prime between 2~" << n << " is " << cnt << endl;

return 0;

}

列印結果:

用篩選法求100以內的的素數

篩選法是指埃拉託色尼 eratosthenes 篩選,埃拉託色尼是古希臘的著名數學家。他採取的方法是,先寫下1到1000的全部整數,然後逐個判斷它們是否素數,找出乙個非素數,就把它挖掉,最後剩下的就是素數。1.先挖掉1 2.用下乙個未被挖掉的數p除p後面各數,把p的倍數挖掉 3.檢查p是否小於根號n...

篩選法查詢100以內的素數

篩選法 是指從小到大篩去乙個已知素數的所有倍數。例如 根據2,我們篩選去4,6,8,98,100等數,然後根據3,我們可以篩選9,15,99等數 注意此時6 12等數早就被篩去了 由於4被篩去了,下乙個用於篩選的素數是5,以此類推,最後剩餘的就是100以內的素數。首先定義乙個int型別的陣列int ...

篩選法求n以內素數(質數)

設定乙個標誌陣列isprime,isprime i 的值是1就表示i是素數。開始陣列元素值全部為1劃掉k的倍數,就是把isprime 2 k isprime 3 k 置成0最後檢查isprime陣列,輸出isprime i 為1的那些i include include using namespace...