#include<iostream>
using namespace std;
#define MAX 10000
int flag[MAX];
int prime[MAX];
int primesize = 0;
int min_prime[MAX];
void getprime(int n)//n以内的素数
{
for (int i = 2; i <= n; ++i)
{
if (flag[i] == 0)
prime[primesize++] = i;
for (int j = 0; j <= primesize; ++j)
{
if (i*prime[j] > n) break;
flag[i*prime[j]] = 1;
min_prime[i*prime[j]] = prime[j];
if (i%prime[j] == 0) break;
}
}
}
int main()
{
getprime(10000);
for (int i = 0; i < primesize; ++i)
cout << prime[i] << endl;
system("pause");
return 0;
}
欧拉筛
最新推荐文章于 2022-10-24 17:48:08 发布