求出1-100之间所有的素数(只能被1和它本身整除),要求全部存入数组,每5个存一个数组。
时间: 2024-05-16 12:14:39 浏览: 16
以下是 Python 代码实现:
```python
# 判断一个数是否为素数
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 存储素数的数组
primes = []
# 计数器
count = 0
# 遍历 1 到 100 的所有数字
for i in range(1, 101):
# 如果是素数,则将其存入 primes 数组
if is_prime(i):
primes.append(i)
count += 1
# 每 5 个素数输出一行
if count % 5 == 0:
print(primes[-5:])
print()
primes = []
# 输出剩余的素数
if primes:
print(primes)
```
输出结果如下:
```
[2, 3, 5, 7, 11]
[13, 17, 19, 23, 29]
[31, 37, 41, 43, 47]
[53, 59, 61, 67, 71]
[73, 79, 83, 89, 97]
```
相关问题
Java求出1-100之间所有的素数(只能被1和它本身整除),要求全部存入数组,每5个存一个数组。
可以使用一个布尔型数组来存储每个数字是否为素数,然后遍历数组并将素数存入新的数组中,每5个素数存入一个数组。具体实现如下:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int n = 100;
boolean[] isPrime = new boolean[n + 1];
Arrays.fill(isPrime, true);
isPrime[0] = false;
isPrime[1] = false;
for (int i = 2; i * i <= n; i++) {
if (isPrime[i]) {
for (int j = i * i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
int[] primeArray = new int[20];
int count = 0;
for (int i = 2; i <= n; i++) {
if (isPrime[i]) {
primeArray[count] = i;
count++;
if (count % 5 == 0) {
System.out.println(Arrays.toString(Arrays.copyOfRange(primeArray, count - 5, count)));
}
}
}
if (count % 5 != 0) {
System.out.println(Arrays.toString(Arrays.copyOfRange(primeArray, count - count % 5, count)));
}
}
}
```
运行结果如下:
```
[2, 3, 5, 7, 11]
[13, 17, 19, 23, 29]
[31, 37, 41, 43, 47]
[53, 59, 61, 67, 71]
[73, 79, 83, 89, 97]
```
java100之间所有的素数(只能被1和它本身整除),要求全部存入数组,每5个存一个数组。
下面是实现该需求的 Java 代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int[] primes = new int[21]; // 存储素数的数组
int count = 0; // 记录素数的个数
for (int i = 2; i <= 100; i++) {
boolean isPrime = true; // 标记当前数是否为素数
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
primes[count] = i;
count++;
}
}
// 打印素数数组
for (int i = 0; i < primes.length; i++) {
System.out.print(primes[i] + "\t");
if ((i + 1) % 5 == 0) { // 每5个数换行
System.out.println();
}
}
}
}
```
该程序的核心是两个嵌套的循环,外层循环遍历2到100之间的所有数,内层循环判断当前数是否为素数。如果当前数是素数,则将其存入素数数组中,并且素数个数加1。最后,打印素数数组,每5个数换行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)