筛法求素数

来源:互联网 发布:农村淘宝app下载安装 编辑:程序博客网 时间:2024/06/02 04:46

用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。

#include <iostream>#include <cmath>using namespace std;void FilterPrime(int n){    bool* isPrimes = new bool[n+1];    for(int i=2;i<=n;i++)        isPrimes[i] = true;    isPrimes[0] = false;isPrimes[1] = false;    for(int i=2;j<=sqrt(n);i++)    {        if(isPrimes[i])        {            for(int j=2;j*i<=n;j++)                isPrimes[j*i] = false;        }    }    delete [] isPrimes;
}

原创粉丝点击