java 判断一个数是否是素数详解

想了解更多算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。也可以扫描下面的二维码关注
在这里插入图片描述

1,素数是指在大于1的自然数中,除了1和他本身以外不再有其他因数的自然数

 	public static boolean isPrime(long x) {
   	  if (x < 2)
    	     return false;
    	 if (x == 2)
      	   return true;
   	  if ((x & 1) == 0)
      	   return false;
    	 final int max = (int) Math.sqrt(x);
    	 for (int i = 3; i <= max; i += 2) {
     	   if ((x % i) == 0) {
       	     return false;
       	 }
   	 }
   	 return true;
	}

第6-7行是过滤掉偶数,因为偶数除了2都不是素数。

posted @ 2020-04-13 15:36  数据结构和算法  阅读(909)  评论(0编辑  收藏  举报