設定乙個標誌陣列isprime
,isprime[ i ]
的值是1就表示i是素數。開始陣列元素值全部為1劃掉k的倍數,就是把isprime[ 2*k ]
,isprime[ 3*k ]
…置成0最後檢查isprime
陣列,輸出isprime[ i ]
為1的那些i
#include
#include
using
namespace std;
#define max_num 1000000
char isprime[max_num+10]
;//最終如果isprime[i]為1,則表示i是素數
intmain()
for(
int i=
2;i<=max_num;
++i)
for(
int i=
2;i<=max_num;
++i)
return0;
}
第5行**定義乙個char型別的陣列即可存放0 1。因為節約記憶體空間。 使用篩選法求N以內的素數
1.使用篩選法求素數的思想是 使用乙個bool isprime n 來儲存乙個數是不是素數的標誌位。首先偶數不是素數 2除外 將2的倍數isprime全部設定為false。i從3開始遍歷,如果i為素數,則將i的倍數isprime全部設定成false。這樣就篩選掉了好多不是素數的數。從0遍歷ispri...
篩選法求100以內的素數
step1 初始化乙個a陣列,從a 2 到a 100 以內都為自己。step2 對每個數,如果可以被2,3,5,7,11,13.素數 整除則該數設為0,因為素數的倍數是可以被除1和本身以外的其它數整除,是合數 step3 列印出所有非0的數,即為素數。改自愛課程 c語言程式設計 蘇小紅老師 incl...
質數篩選 素數篩選法
int prime 100010 void prime for int i 1 i i 1000000 i define size 1000000 int main 元素值為0代表是素數 int prime size int pos 0 int flag for int i 2 i size i p...