求素数(10分) 题目内容: 输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数 输入格式: 输入数据m和n之间以空格隔开(100<=m<=n<=200) 输出格式: 素数之间以,隔开输出
时间: 2024-05-01 12:20:04 浏览: 68
以下是 Python 代码实现:
```python
m, n = map(int, input().split())
prime_list = []
for num in range(m, n+1):
# 素数大于1
if num > 1:
for i in range(2, num):
if num % i == 0:
break
else:
prime_list.append(num)
print(','.join(map(str, prime_list)))
```
解释:
1. 首先输入 m 和 n,使用 `map` 函数将输入的字符串转成整数。
2. 定义一个空列表 `prime_list`,用来存放素数。
3. 遍历从 m 到 n 的每一个数,判断它是否是素数。
4. 如果当前遍历的数 num 大于 1,则从 2 到 num-1 的每一个数 i 进行判断,看是否能整除 num。
5. 如果存在一个数 i 能整除 num,那么 num 就不是素数,跳出当前循环。
6. 如果 2 到 num-1 的所有数都不能整除 num,那么 num 就是素数,将其加入 prime_list 列表中。
7. 最后使用 `join` 函数和 `map` 函数将 prime_list 中的素数转成字符串,并以逗号分隔输出。
相关问题
c语言求素数(10分) 题目内容: 输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数
以下是C语言代码实现:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n;
scanf("%d%d", &m, &n);
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
其中 `is_prime` 函数用于判断一个数是否为素数,如果是素数则返回1,否则返回0。主函数中循环遍历从m到n之间的所有数,判断是否为素数,是素数则输出。
求素数(10分) 题目内容: 输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数
以下是 Python 代码实现:
```python
m, n = map(int, input().split())
for num in range(m, n+1):
if num > 1:
for i in range(2, int(num/2)+1):
if num % i == 0:
break
else:
print(num)
```
解释:
首先,我们输入 m 和 n,利用 `map()` 函数将输入的字符串转化为整型数据。接着,我们使用 `range()` 函数生成 m 到 n 之间的所有整数,并使用 `for` 循环遍历这些整数。
对于每个整数 num,我们判断它是否大于 1,因为 1 不是素数。如果 num 大于 1,则我们使用另一个 `for` 循环遍历 2 到 num/2 之间的所有整数 i,判断 num 是否能够被 i 整除。如果 num 能够被 i 整除,则 num 不是素数,我们退出内层循环。否则,我们继续遍历下一个 i,直到 i 到达 num/2 或者内层循环被退出。
如果内层循环没有被退出,说明 num 是素数,我们使用 `print()` 函数将其输出。最终,我们会输出 m 到 n 之间的所有素数。
阅读全文