用Java输出一到1000的所有素数,每行线是八个素数
时间: 2024-11-04 14:15:09 浏览: 4
Java列出2到100之间所有素数的方法
5星 · 资源好评率100%
在Java中,我们可以使用Sieve of Eratosthenes(埃拉托斯特尼筛法)算法来找出一到1000之间的所有素数,并按照每行打印8个素数的方式输出。以下是实现该功能的代码片段:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int limit = 1000;
boolean[] isPrime = new boolean[limit + 1];
for (int i = 2; i * i <= limit; i++) {
if (!isPrime[i]) {
for (int j = i * i; j <= limit; j += i) {
isPrime[j] = true;
}
}
}
int count = 0;
for (int i = 2; i <= limit; i++) {
if (!isPrime[i]) continue;
System.out.print(i + " ");
count++;
if (count % 8 == 0 && count != 0) { // 每打印8个数换一行
System.out.println();
}
}
}
}
```
这个程序首先创建了一个布尔数组`isPrime`,用于标记每个数字是否为素数。然后,它遍历数组并更新素数的位置。接下来,在主循环中,我们只打印出非素数的数字(即`!isPrime[i]`),每次打印完一个素数后检查计数器`count`,如果达到8,就换一行。
运行此代码后,你将得到从1到1000的一系列素数,每行包含8个素数。
阅读全文