写一段用C语言编译的代码实现以下功能:找出正整数 M 和 N 之间(N 不小于 M)的所有真素数。
时间: 2024-11-22 13:47:46 浏览: 38
在C语言中,我们可以编写一个简单的程序来找出给定范围内的所有质数。质数是指大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。下面是一个基本的函数,用于检查一个数是否是质数,然后遍历M到N并打印出所有的真素数:
```c
#include <stdio.h>
// 判断是否是质数的辅助函数
int isPrime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
// 打印M到N之间的所有质数
void printPrimes(int M, int N) {
for (int i = M; i <= N; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int M, N;
// 输入范围,这里假设M和N已知
scanf("%d %d", &M, &N);
// 检查输入的有效性,确保N大于等于M
if (N < M) {
printf("Error: N should be greater than or equal to M.\n");
return 1;
}
printPrimes(M, N);
return 0;
}
```
阅读全文