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,否则无法整除