1. 程式人生 > >C++篩選法求素數(簡單)

C++篩選法求素數(簡單)

篩選法求素數經常是求解其他問題的前提

程式碼:

#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; }