java输出100到200间的所有素数
时间: 2024-11-03 14:19:20 浏览: 5
java输出1到100以内所有的质数
在Java中,你可以使用“埃拉托斯特尼筛法”(Sieve of Eratosthenes)来找出100到200之间的所有素数。这种算法简单高效,主要是通过不断排除合数来找到素数。以下是具体的实现:
```java
public class Main {
public static void main(String[] args) {
int limit = 200;
boolean[] primes = new boolean[limit + 1];
for (int i = 2; i * i <= limit; i++) {
// 如果primes[i]尚未标记为素数,那么i是素数
if (!primes[i]) {
// 标记i的所有倍数为合数
for (int j = i * i; j <= limit; j += i) {
primes[j] = true;
}
}
}
// 打印100到200之间的素数
System.out.println("100到200之间的素数有:");
for (int i = 100; i < limit; i++) {
if (!primes[i]) {
System.out.print(i + " ");
}
}
}
}
```
这段代码首先创建了一个布尔数组`primes`,其中索引表示数字,值表示该数字是否为素数。接着,算法通过外层循环遍历小于等于`sqrt(limit)`的数,如果是素数则标记它的所有倍数为合数。最后,内层循环遍历100到200之间未标记为合数的数,即为素数。
阅读全文