1. 程式人生 > >素數打表(線性篩)

素數打表(線性篩)

#define Max 100005
int prime[Max];
int isprime[Max];
int num_prime=0;
void IsPrime()
{
    for(int i=2; i<Max; i++)
    {
        if(!isprime[i])
            prime[num_prime++]=i;
        for(int j=0; j<num_prime&&i*prime[j]<Max; j++)
        {
            isprime[i*prime[j]]=1;
            if(i%prime[j]==0)
                break;
        }
    }
}