求素数(10分) 题目内容: 输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数
时间: 2023-06-16 10:02:24 浏览: 66
以下是 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 之间的所有素数。
相关问题
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之间的所有数,判断是否为素数,是素数则输出。
题目内容: 输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数 输入格式: 输入数据m和n之间以空格隔开(100<=m<=n<=200) 输出格式: 素数之间以,隔开输出
好的,以下是用C语言编写的程序,可以实现输入整型数据m和n(100<=m<=n<=200),然后输出m~n之间的所有素数,素数之间以逗号隔开输出:
```c
#include <stdio.h>
#include <math.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n;
int flag = 0;
printf("请输入m和n(100<=m<=n<=200):");
scanf("%d %d", &m, &n);
printf("素数为:");
for (int i = m; i <= n; i++) {
if (isPrime(i)) {
if (flag == 0) {
printf("%d", i);
flag = 1;
} else {
printf(",%d", i);
}
}
}
return 0;
}
```
程序的运行结果如下:
```
请输入m和n(100<=m<=n<=200):120 150
素数为:127,131,137,139,149
```
希望这个程序能够帮到你,如果你还有其他问题,请随时提出。