使用java找出1000以内所有的质数
时间: 2024-09-12 14:12:51 浏览: 43
JAVA找出100以内的素数
在Java中找出1000以内的所有质数,可以通过一个简单的算法来实现,这种方法被称为埃拉托斯特尼筛法(Sieve of Eratosthenes)。该算法的基本思想是从最小的质数2开始,找出所有2的倍数,并将它们标记为非质数,然后继续到下一个未被标记的数,并重复这个过程。最终剩下的未被标记的数都是质数。下面是一个实现这个算法的示例代码:
```java
public class PrimeNumber {
public static void main(String[] args) {
int maxNumber = 1000;
boolean[] isPrime = new boolean[maxNumber + 1];
for (int i = 2; i <= maxNumber; i++) {
isPrime[i] = true;
}
for (int i = 2; i * i <= maxNumber; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= maxNumber; j += i) {
isPrime[j] = false;
}
}
}
for (int i = 2; i <= maxNumber; i++) {
if (isPrime[i]) {
System.out.println(i);
}
}
}
}
```
在这段代码中:
1. 初始化一个布尔数组`isPrime`,用于标记每个数是否是质数。
2. 从2开始遍历,对于每个数,如果它没有被标记为非质数,则将它标记为质数。
3. 然后从这个数的平方开始,将其所有的倍数标记为非质数。
4. 最后,遍历`isPrime`数组,打印出所有标记为质数的数。
阅读全文