输出50个素数,以数组形式输出,十个数字为一组
时间: 2024-09-14 12:14:19 浏览: 9
要输出前50个素数,并且每十个数字一组显示,我们首先需要编写一个方法来检测一个数字是否为素数,然后使用这个方法来找到前50个素数,并将它们存储在一个数组中。最后,我们将数组中的素数每十个一组进行输出。以下是实现这一功能的Java代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
final int NUMBER_OF_PRIMES = 50;
int[] primes = new int[NUMBER_OF_PRIMES];
int count = 0;
int number = 2; // 从第一个素数开始
while (count < NUMBER_OF_PRIMES) {
if (isPrime(number)) {
primes[count] = number;
count++;
}
number++;
}
// 输出素数,每行十个
for (int i = 0; i < NUMBER_OF_PRIMES; i++) {
System.out.print(primes[i] + (i % 10 == 9 || i == NUMBER_OF_PRIMES - 1 ? "\n" : "\t"));
}
}
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;
}
}
```
解释:
1. `isPrime` 方法用于检查一个整数是否是素数。它通过测试从2到该数的平方根的所有整数是否能整除这个数来实现。如果可以被整除,则不是素数。
2. 在 `main` 方法中,我们初始化一个数组来存储素数,并用变量 `count` 来跟踪找到的素数数量。
3. 通过一个循环,我们不断检查每个数是否为素数。如果是,我们将其添加到数组中,并将 `count` 加1。
4. 当我们找到50个素数后,我们通过另一个循环输出它们。在输出时,我们检查索引 `i` 是否是10的倍数或者是否是最后一个素数,如果是,则输出换行符,否则输出一个制表符,以保持每行输出十个数字。