编写java程序,实现分五行输出显示自然数中的前50个素数
时间: 2024-11-03 22:15:21 浏览: 18
编写Java程序实现分五行输出自然数中的前50个素数,可以按照以下步骤进行:
1. 首先,我们需要定义一个方法判断是否为素数。这是一个基本的数学函数,检查一个数是否只有1和它本身作为因子。
```java
public static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
```
2. 接下来,我们可以创建一个计数器和一个列表来存储素数。然后,遍历自然数,直到找到前50个素数。
```java
List<Integer> primes = new ArrayList<>();
int count = 0;
for (int i = 2; count < 50 && i <= Integer.MAX_VALUE; i++) {
if (isPrime(i)) {
primes.add(i);
count++;
}
}
```
3. 最后,我们按五行打印这50个素数。这里需要计算每行应该有几个素数,并用`System.out.println()`逐行输出。
```java
int rows = (int)Math.ceil((double)primes.size() / 5); // 计算总行数
int limit = 5; // 每行素数的数量
for (int i = 0; i < rows; i++) {
int start = i * limit;
int end = Math.min(start + limit - 1, primes.size() - 1);
System.out.printf("%d ", primes.subList(start, end).toArray());
if ((i+1) % rows != 0) { // 如果不是最后一行
System.out.print("\n");
} else { // 如果是最后一行,仅打印空格填充到五行
while (count % 5 != 0) {
System.out.print(" ");
count++;
}
}
}
```
阅读全文