java 判斷是否是素數

想了解更多算法題,可以關注微信公衆號“數據結構和算法”,每天一題爲你精彩解答。

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

 1	public static boolean isPrime(long x) {
 2  	  if (x < 2)
 3   	     return false;
 4   	 if (x == 2)
 5     	   return true;
 6  	  if ((x & 1) == 0)
 7     	   return false;
 8   	 final int max = (int) Math.sqrt(x);
 9   	 for (int i = 3; i <= max; i += 2) {
10     	   if ((x % i) == 0) {
11       	     return false;
12       	 }
13   	 }
14   	 return true;
15	}

第6-7行是過濾掉偶數,因爲偶數除了2都不是素數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章