打印1~100的素数

实现:素数(即质数)就是只能被1和自身整除的数。最简单的方法是让这个数num与比它小的数相除(1除外),均不能整除。但实际上效率很低,只需要除比sqrt(num)小的数就行了。

  1. 判断一个数是不是素数的方法;
  2. 循环打印1~100;
  3. 每循环一次就判断一次,返回true则打印。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Prime {
public static void main(String[] args) {
for (int i = 2; i < 100; i++) { //1和100肯定不是素数
if (isPrime(i)) {
System.out.println(i);
}
}
}
// 判断是否是素数
public static boolean isPrime(int num) {
long sqrtNum = (long) Math.sqrt(num);
for (int i = 2; i <= sqrtNum; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}

输出:

1
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97