📌  相关文章
📜  Java程序计算范围内的素数(1)

📅  最后修改于: 2023-12-03 15:02:06.613000             🧑  作者: Mango

Java程序计算范围内的素数

素数是只能被1和本身整除的自然数,如2、3、5、7等。

以下是一段Java程序,可以计算指定范围内的素数:

import java.util.ArrayList;
import java.util.List;

public class PrimeNumber {
    public static List<Integer> getPrimeNumbers(int n) {
        List<Integer> primes = new ArrayList<>();
        if (n >= 2) {
            primes.add(2);
            for (int i = 3; i <= n; i += 2) {
                boolean isPrime = true;
                for (int j = 3; j * j <= i; j += 2) {
                    if (i % j == 0) {
                        isPrime = false;
                        break;
                    }
                }
                if (isPrime) {
                    primes.add(i);
                }
            }
        }
        return primes;
    }

    public static void main(String[] args) {
        List<Integer> primes = getPrimeNumbers(100);
        for (Integer prime : primes) {
            System.out.print(prime + " ");
        }
    }
}

以上程序主要用到了两个方法:

  • getPrimeNumbers(int n):返回指定范围内的素数列表,其中n为指定范围的最大值。
  • main(String[] args):测试方法,调用getPrimeNumbers(int n)方法并输出结果。

getPrimeNumbers(int n)方法中,我们首先创建了一个空的整数列表primes,然后判断n是否大于等于2,如果是,则首先将2加入素数列表中。

接着,我们从3开始,以2为步长依次遍历所有奇数,并用一个布尔型变量isPrime来表示当前的数是否为素数。对于每一个奇数,我们只需要判断它能否被小于等于它的平方根的奇数整除。这是因为如果一个数不是素数,那么它必定可以分解成两个自然数的乘积,其中至少一个小于等于它的平方根。

如果一个奇数不能被任何奇数整除,则它是一个素数,我们将其加入素数列表中。

最后,我们返回素数列表。

main(String[] args)方法中,我们调用getPrimeNumbers(int n)方法并输出结果。

输出结果如下:

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 

可以看到,我们成功地计算了指定范围内的素数。

总结

以上是一段Java程序,用于计算指定范围内的素数。通过这个程序,我们不仅能够学习到如何判断一个数是否为素数,还能够加深对列表的使用和循环的掌握。