输出200之内所有的素数(每5个一行) 素数---------除了1和它本身不能被其他数整数的数就是素数 编写一个java程序
时间: 2024-10-12 14:07:38 浏览: 35
要在Java中编写一个程序,打印出200范围内的所有素数,并按照每5个一组输出,你可以使用Sieve of Eratosthenes算法。这是一个古老的算法,用于寻找一定范围内所有的素数。以下是对应的Java代码:
```java
import java.util.ArrayList;
import java.util.List;
public class PrimeNumbers {
public static void main(String[] args) {
int limit = 200;
List<Integer> primes = sieveOfEratosthenes(limit);
// 打印素数,每5个一行
for (int i = 0; i < primes.size(); i += 5) {
if (i != 0 && i % 5 == 0) {
System.out.println();
}
System.out.print(primes.get(i) + " ");
if (i + 4 < primes.size()) {
System.out.print(primes.get(i + 1) + " " + primes.get(i + 2) + " " + primes.get(i + 3) + " " + primes.get(i + 4) + " ");
} else {
System.out.println(primes.get(i)); // 如果剩余不足5个,只打印最后一个
}
}
}
// 斐波那契筛法(Sieve of Eratosthenes)
private static List<Integer> sieveOfEratosthenes(int n) {
boolean[] isPrime = new boolean[n + 1];
for (int i = 2; i * i <= n; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
List<Integer> primeList = new ArrayList<>();
for (int i = 2; i <= n; i++) {
if (isPrime[i]) {
primeList.add(i);
}
}
return primeList;
}
}
```
当你运行这个程序,它会输出200以内所有的素数,每5个一行。
阅读全文