欧拉线性筛素数
原理:
简单说明一下,其筛选的原理就是,当一个数是素数时,这个数的2,3,4,,,,n倍肯定都不是素数。
代码:
bool isnotprime[INF]={
1,1}; //isnotprime[i] 判断i是否为素数 0代表是素数 1代表不是素数
int prime[INF]={
0}; //prime[i]为第i个素数,从0开始
int num=0; //num为素数个数;
void setprime(int n) //求小于n的素数;
{
num=0;
for(int i=2;i<n;i++)
{
if(!isnotprime[i])
{
prime[num++]=i;
}