用Java计算100以内的素数并输出。详细写出相应代码
时间: 2023-09-10 19:04:45 浏览: 89
JAVA找出100以内的素数
```java
public class PrimeNumbers {
public static void main(String[] args) {
int n = 100;
boolean[] isPrime = new boolean[n + 1]; // 用于标记每个数是否为素数,默认值为false
for (int i = 2; i <= n; i++) {
isPrime[i] = true; // 先假设每个数都是素数
}
// 从2开始遍历到n,依次标记每个数的倍数为非素数
for (int i = 2; i * i <= n; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
// 输出所有素数
for (int i = 2; i <= n; i++) {
if (isPrime[i]) {
System.out.print(i + " ");
}
}
}
}
```
代码解释:
1. 定义一个布尔类型的数组`isPrime`,长度为n+1,表示每个数是否为素数,默认值为false。
2. 从2开始遍历到n,依次标记每个数的倍数为非素数。在这里,我们只需要遍历到sqrt(n)即可,因为如果一个数不是素数,它一定有一个小于sqrt(n)的因子。
3. 输出所有素数。
阅读全文