C语言输入两个正整数m和n输出m到n之间全部的素数
时间: 2024-11-05 18:25:47 浏览: 18
输出n以内的所有素数 c语言:找出N以内的所有素数
在C语言中,我们可以使用Sieve of Eratosthenes算法来找出给定范围内的所有素数。这是一个高效的算法,它通过不断排除合数来筛选出素数。以下是一个简单的实现示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
void print_primes(int m, int n) {
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int m, n;
printf("请输入两个正整数,m 和 n(m < n):");
scanf("%d %d", &m, &n);
if (m > n) {
printf("错误:m 必须小于 n。\n");
return 1;
}
print_primes(m, n);
return 0;
}
```
这个程序首先定义了一个辅助函数 `is_prime()` 来检查是否为素数,然后在 `print_primes()` 函数中遍历并输出指定范围内的素数。
阅读全文