Java找出100以内所有质数

要找出100以内所有的质数,可以使用以下算法:

  1. 遍历所有数字n,从2到100。
  2. 对于每个数字n,检查它是否是质数。
  3. 如果n是质数,则输出它。

如何检查一个数字n是否是质数?可以使用以下算法:

  1. 如果n小于2,则它不是质数,直接返回false。
  2. 如果n等于2,则它是质数,直接返回true。
  3. 如果n是偶数,则它不是质数,直接返回false。
  4. 对于所有奇数i,从3到sqrt(n),如果n能被i整除,则n不是质数,直接返回false。
  5. 如果没有找到任何能够整除n的数,则n是质数,返回true。 基于以上算法,我们可以实现以下Java方法来找出100以内所有的质数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static boolean isPrime(int n) {
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
for (int i = 3; i <= Math.sqrt(n); i += 2) {
if (n % i == 0) return false;
}
return true;
}

public static void findPrimes() {
for (int i = 2; i <= 100; i++) {
if (isPrime(i)) {
System.out.println(i);
}
}
}

这个程序中,isPrime()方法用来判断一个数字是否是质数,findPrimes()方法用来遍历所有数字并输出所有的质数。在isPrime()方法中,我们首先判断n是否小于2,如果是,直接返回false;如果n等于2,直接返回true。接着,我们判断n是否是偶数,如果是,直接返回false。最后,我们使用一个for循环遍历所有奇数i,从3到sqrt(n),如果n能被i整除,则n不是质数,直接返回false。如果for循环结束后还没有找到任何能够整除n的数,则n是质数,返回true。在findPrimes()方法中,我们使用一个for循环遍历所有数字i,从2到100,对于每个数字i,调用isPrime()方法判断它是否是质数,如果是,输出它。

使用以上代码,我们可以输出100以内所有的质数。