生成100到200之间的素数每5个一行,输出的时候第一行后空了好多行才出了第二行这是为什么怎么生成连着的一行5个素数
时间: 2024-10-14 15:14:36 浏览: 18
【国开搜题】国家开放大学 一网一平台 24春数据结构与算法01 期末考试押题试卷.docx
在生成100到200之间每5个素数并按行输出时,如果你观察到出现了额外的空行,那可能是由于编程中添加了额外的空白行或者换行符导致的。为了保证连续输出五个素数在同一行,你需要调整代码来去除不必要的换行,并确保在输出前一次性计算出所有符合条件的素数。
下面是一个Java示例,直接将结果存储在一个数组中,然后再一次性打印出来,避免了中间的空行:
```java
import java.util.ArrayList;
public class PrimeGenerator {
public static void main(String[] args) {
ArrayList<Integer> primes = new ArrayList<>();
for (int i = 100; i <= 200; i++) {
if (isPrime(i)) {
primes.add(i);
if (primes.size() % 5 == 0) {
System.out.println(primes.subList(0, primes.size()));
primes.clear(); // 清空已输出的部分
}
}
}
// 打印剩余的素数
if (!primes.isEmpty()) {
System.out.println(primes);
}
}
public static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) return false;
}
return true;
}
}
```
这个程序会立即打印出每五个素数,如果还剩下不足五个,它会在下一行继续输出。注意,`ArrayList.subList()`用于创建一个从指定索引开始到列表结尾的子列表,这样可以保持输出格式一致。
阅读全文