线性筛
线性筛快速筛素数
int prime [ MAX + 1 ] , cnt ; bool vis [ MAX + 1 ] ;
int main ( void )
{
for ( int i = 2 ; i <= MAX ; i++)
{
if ( ! vis [ i ] ) prime [ ++cnt ] = i ;
for (int j = 1 ; j <= cnt && i * prime [ j ] <= MAX ; j++ )
{
vis [ i * prime [ j ] ] = true ;
if ( i % prime[ j ] == 0 ) break ;
}
}
return 0 ;
}

浙公网安备 33010602011771号