1、引自百度百科:质数
/**
* 返回true,即为素数
* @param n
* @return
*/
public static boolean isPrime(long n) {
if (n <= 3) {
return n > 1;
}
if (n % 2 == 0 || n % 3 == 0) {
return false;
}
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
2、
在一般领域,对正整数n,如果用2到√
n之间的所有整数去除,均无法整除,则n为质数。
/**
* 素数、质数
*
*/
public class Prime2 {
public static void main(String[] args) {
for(int i = 2;i< 100;i++){
double sqrt = Math.sqrt(i);
boolean flag = false;
for(int j = 2;j<=sqrt;j++){
if(i%j == 0){
flag = true;
}
}
if(!flag){
System.out.print(i+",");
}
}
}
}
3、
/**
* 质数
* 素数
*/
public class Switch2 {
public static void main(String[] args) {
int N = 100;
boolean[] flag = new boolean[N + 1];
for (int i = 2; i <= N; i++) {
if (!flag[i]) {
for (int j = i * 2; j <= N; j += i)
flag[j] = true;
}
}
for (int i = 2; i <= N; i++) {
if (!flag[i]) {
System.out.print(i + " ");
}
}
}
}