1. 程式人生 > >素數尤拉線性篩模板

素數尤拉線性篩模板

bool isprime[maxm];
int primes[maxn],len;
 
void Get_prime()
{
    len = 0;
    memset ( isprime , true , sizeof(isprime) );
    isprime[0] = false;
    isprime[1] = false;
    for ( int i=2 ; i<maxm ; i++ )
    {
        if ( isprime[i] )
            primes[len++] = i;
        for ( int j=0 ; j<len ; j++ )
        {
            if ( i*primes[j]>=maxm )
                break;
            isprime[i*primes[j]] = false;
            if ( i%primes[j]==0 )
                break;
        }
    }
}