!-- Loading 底层遮罩 -->

线性筛

线性筛快速筛素数

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 ;
}

 

posted @ 2022-03-30 19:24  Thinker-X  阅读(35)  评论(0)    收藏  举报