prime素数判断

bool prime(int x)
{
    if(x<=1||(x>2&&x%2==0))
        return false;
    for(int i=2;i*i<=x;i++)
        if(x%i==0)
            return false;//0
    return true;//1
}

 

1.x>2&&x%2==0  所有能被二整除的数均不为素数,提前排除减少运算
2.i*i<=x     若一个数如果不是素数,则最大因子小于等于x/2,否则无法整除
posted @ 2021-03-13 15:57  Silke  阅读(43)  评论(0)    收藏  举报