您的位置:首页 > 其它

Eratosthenes筛计算N以内的素数

2016-03-13 13:46 351 查看
#include <iostream>
#include <vector>
#include <string>

using namespace std;

vector<int> GetPrimeNumber(const int N)
{
vector<int> b;
int* a = new int[N+1];
a[1] = false;
for (int i = 2; i < N + 1; i++)
{
a[i] = true;
}
int p = 2;
int j = p*p;
while (j <= N)
{
while (j<=N)
{
a[j] = false;
j += p;
}
p++;
while (a[p]==false)
{
p++;
}
j = p*p;
}
for (int i = 2; i < N + 1; i++)
{
if (a[i]==true)
{
b.push_back(i);
}
}
return b;

}

int main()
{
int N = 100;
vector<int> b= GetPrimeNumber(N);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: