判断k是否为素数,最基本的方法就是判断2—k的平方根范围里面是否有一个数能被k整除,即k % i == 0是否成立,若成立则不是素数,否则就是素数。下面是基于java的实现。
package com.algorithm.prime;
public class BasicPrime {
public static void main(String argv[]) {
for(int i = 0; i < 20; i++) {
System.out.println(i + " " + isPrime(i));
}
}
private static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
int k = (int) Math.sqrt(n);
for (int i = 2; i <= k; i++) {
if(n % i == 0) {
return false;
}
}
return true;
}
}
运行结果:
0 false
1 false
2 true
3 true
4 false
5 true
6 false
7 true
8 false
9 false
10 false
11 true
12 false
13 true
14 false
15 false
16 false
17 true
18 false
19 true