编写java程序,找到1000以内所有的质数
时间: 2024-09-28 09:03:01 浏览: 45
编写Java程序找出1000以内所有的质数,可以使用一种常见的算法,即埃拉托斯特尼筛法(Sieve of Eratosthenes)。这个算法通过遍历从2到目标值,并将每个质数的倍数标记为合数,最后剩下的未标记的就是质数。
以下是简单的Java代码实现:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int limit = 1000;
boolean[] isPrime = new boolean[limit + 1];
// 将所有数字初始化为质数
for (int i = 2; i <= limit; i++) {
isPrime[i] = true;
}
// 遍历并筛选质数
for (int p = 2; p * p <= limit; p++) {
if (isPrime[p]) {
// 把p的倍数都标记为合数
for (int i = p * p; i <= limit; i += p) {
isPrime[i] = false;
}
}
}
// 打印出1000以内的所有质数
System.out.println("Prime numbers between 1 and " + limit + " are:");
for (int i = 2; i <= limit; i++) {
if (isPrime[i]) {
System.out.print(i + " ");
}
}
}
}
```
在这个程序中,我们首先创建了一个布尔数组`isPrime`来存储每个数字是否为质数。然后,我们从2开始,逐个检查每个数字,如果它是质数,就将其倍数标记为合数。最后,打印出那些依然标记为质数的数字。
阅读全文