想了解更多算法題,可以關注微信公衆號“數據結構和算法”,每天一題爲你精彩解答。
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都不是素數。