用c加加写找出m到n之间的素数
时间: 2023-05-14 21:06:47 浏览: 110
以下是用 C++ 写的找出 m 到 n 之间的素数的代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int m, n;
cout << "请输入 m 和 n:" << endl;
cin >> m >> n;
cout << "m 到 n 之间的素数有:" << endl;
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
如果您需要使用 C 语言编写,可以将 `#include <iostream>` 改为 `#include <stdio.h>`,将 `using namespace std;` 删除,并将 `cout` 改为 `printf`。
相关问题
用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 之间的所有素数。
用Python写一个求m到n之间素数的个数
在Python中,你可以通过编写一个函数来找出两个整数`m`和`n`之间的素数个数。下面是一个简单的算法:
```python
def count_primes(m, n):
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
primes = []
for num in range(m, n+1):
if is_prime(num):
primes.append(num)
return len(primes)
# 使用示例
m = 10
n = 30
prime_count = count_primes(m, n)
print(f"从{m}到{n}之间的素数有: {prime_count}")
```
这个程序首先定义了一个内部辅助函数`is_prime()`用于检查一个数是否为素数。然后,它遍历`m`到`n`范围内的所有数字,并使用`is_prime()`函数筛选出素数,最后返回素数列表的长度即为所求的素数个数。
阅读全文