用c加加写找出m到n之间的素数
时间: 2023-05-14 17:06:47 浏览: 135
以下是用 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语言要求找出1到N之间的所有素数
在C语言中,寻找1到N之间的所有素数可以使用著名的“埃拉托斯特尼筛法”(Sieve of Eratosthenes)。这个算法的基本思想是从2开始,将它的倍数都标记为合数,然后继续查找下一个未被标记的数(即下一个素数),并重复这个过程。
以下是简单的步骤:
1. 创建一个大小为N+1的布尔型数组isPrime[],初始化为true,表示所有的数字都是潜在的素数。
2. 遍历从2到sqrt(N):
a. 如果isPrime[i]为true,说明i是一个素数,将它的倍数(除了本身)全部标记为false,因为它们不可能是素数。
3. 在遍历结束后,isPrime[i]仍然为true的数就是1到N范围内的素数。
下面是一个简单的C代码示例:
```c
#include <stdio.h>
#include <math.h>
void findPrimes(int N) {
int isPrime[N+1];
for (int i = 0; i <= N; i++) {
isPrime[i] = 1;
}
// Start from the first prime number
for (int p = 2; p * p <= N; ++p) {
if (isPrime[p]) { // If it's a prime
for (int i = p * p; i <= N; i += p) {
isPrime[i] = 0; // Mark its multiples as non-prime
}
}
}
printf("Prime numbers between 1 and %d are:\n", N);
for (int p = 2; p <= N; ++p) {
if (isPrime[p])
printf("%d ", p);
}
}
int main() {
int N = 50; // Change this to your desired value
findPrimes(N);
return 0;
}
```
用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 之间的所有素数。
阅读全文
相关推荐















