C++篩選法求素數(簡單)
阿新 • • 發佈:2019-02-07
篩選法求素數經常是求解其他問題的前提
程式碼:
#include <bits/stdc++.h>
using namespace std;
const int N = 100001;
int prime[N]{0};
int main()
{
for(int i=2;i!=N;++i) prime[i] = 1;
// 這裡的1000可能不是很準確,取N是絕對正確,但是效率較低
// 但是結果是一樣的.
for(int i=2;i<1000;++i) {
for(int j=i+1;j<N;++j) {
if(j%i==0 ) {
if(prime[j]==1) prime[j] = 0;
}
}
}
for(int i=2;i<N;++i) {
if(prime[i]==1) cout << i << ends;
}
return 0;
}