java求小于n的所有素数
时间: 2024-09-15 12:09:12 浏览: 44
Java实现求小于n的质数的3种方法
在 Java 中,我们可以使用一种称为“埃拉托斯特尼筛法”(Sieve of Eratosthenes)的经典算法来找出所有小于给定整数 n 的素数。以下是实现这个功能的一个简单示例:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int n = 50; // 可以替换为你想要查找素数的最大值
boolean[] isPrime = new boolean[n + 1]; // 初始化一个布尔数组,用于标记是否为素数
// 把 0 和 1 标记为非素数
for (int i = 2; i <= n; i++) {
isPrime[i] = true;
}
// 遍历从 2 到 sqrt(n),把每个素数的倍数标记为非素数
for (int i = 2; i * i <= n; i++) {
if (isPrime[i]) { // 如果 i 是素数
for (int j = i * i; j <= n; j += i) { // 将 i 的倍数标记为非素数
isPrime[j] = false;
}
}
}
// 打印小于 n 的所有素数
System.out.println("小于 " + n + " 的所有素数:");
for (int i = 2; i < n; i++) {
if (isPrime[i]) {
System.out.print(i + " ");
}
}
}
}
```
当你运行这个程序时,它会输出小于指定 `n` 的所有素数。你可以将 `n` 的值更改为你需要查找素数的范围。
阅读全文