编写函数fun输出m到n之间的素数。m小于n且m和n均为自然数。
时间: 2024-02-22 15:55:56 浏览: 66
以下是一个Python实现的函数fun,可以输出m到n之间的素数:
```python
def fun(m, n):
primes = []
for i in range(m, n+1):
if i > 1:
for j in range(2, int(i**(0.5))+1):
if i % j == 0:
break
else:
primes.append(i)
return primes
```
使用方法:
```python
m = 1
n = 100
result = fun(m, n)
print(result)
```
输出结果:
```
[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]
```
注意,这个函数只能用于求解小范围内的素数。如果需要求解更大范围内的素数,需要使用更高效的算法。
相关问题
使用c++编写函数fun输出m到n之间的素数。m小于n且m和n均为自然数。
以下是一个C++实现的函数fun,可以输出m到n之间的素数:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<int> fun(int m, int n) {
vector<int> primes;
for (int i = m; i <= n; i++) {
bool is_prime = true;
if (i > 1) {
for (int j = 2; j * j <= i; j++) {
if (i % j == 0) {
is_prime = false;
break;
}
}
if (is_prime) {
primes.push_back(i);
}
}
}
return primes;
}
int main() {
int m = 1;
int n = 100;
vector<int> result = fun(m, n);
for (int i = 0; i < result.size(); i++) {
cout << result[i] << " ";
}
cout << endl;
return 0;
}
```
使用方法:
将上面的代码保存为一个.cpp文件,使用C++编译器编译并运行即可。
输出结果:
```
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
```
与Python实现相比,这个C++实现使用了vector容器来存储结果,并且在判断素数时使用了更加高效的算法。
用c语言编写函数fun输出m到n之间的所有素数,m小于n且m和n均为自然数,程序开头要先输入m,n
以下是用C语言编写的函数fun输出m到n之间的所有素数的程序:
```c
#include <stdio.h>
int is_prime(int num) {
int i;
if (num < 2) {
return 0;
}
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
void fun(int m, int n) {
int i;
for (i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
}
int main() {
int m, n;
printf("请输入m和n(m小于n且m和n均为自然数):\n");
scanf("%d %d", &m, &n);
printf("m到n之间的素数有:\n");
fun(m, n);
return 0;
}
```
代码说明:
- `is_prime` 函数用于判断一个数是否为素数,如果是素数返回 1,否则返回 0。
- `fun` 函数用于输出 m 到 n 之间的所有素数,调用了 `is_prime` 函数。
- `main` 函数用于输入 m 和 n,并调用 `fun` 函数输出 m 到 n 之间的所有素数。
阅读全文