素数:又称质数,是指除了1和它自身外没有其它因子的正整数(1不是素数)。 输入2个正整数m和n(m≤n),输出m~n间的所有素数,并求出个数。 提示:定义一个判断素数的函数,通过函数调用求出素数并计数。 输入格式: m n m和n是范围的边界,要求m≤n 输出格式: m和n间的所有素数,用空格分隔 count = 素数个数
时间: 2024-02-18 12:06:12 浏览: 69
输入一个整数,判断2~n之间的素数并输出
4星 · 用户满意度95%
好的,我来为你编写一个判断素数并输出m~n间所有素数的程序。
代码如下:
```c
#include <stdio.h>
#include <math.h>
int isPrime(int num) { // 判断是否为素数
if(num <= 1) {
return 0; // 1不是素数
}
for(int i = 2; i <= sqrt(num); i++) {
if(num % i == 0) {
return 0; // 可以被整除,即不是素数
}
}
return 1; // 是素数
}
int main() {
int m, n;
scanf("%d %d", &m, &n);
int count = 0; // 记录素数个数
for(int i = m; i <= n; i++) {
if(isPrime(i)) {
printf("%d ", i);
count++;
}
}
printf("\ncount = %d", count);
return 0;
}
```
在这段代码中,我们首先定义了一个 `isPrime` 函数,用于判断一个数是否为素数。该函数接受一个整数作为参数,如果这个数是素数则返回1,否则返回0。
在 `main` 函数中,我们通过 `scanf` 函数读入两个正整数 `m` 和 `n`,表示要输出 `m` 到 `n` 之间的所有素数。然后,我们使用一个循环遍历 `m` 到 `n` 之间的所有整数,对于每个整数,判断它是否为素数,如果是,则输出并将素数个数加1。
最后,我们输出素数个数。
运行该程序,输入 `2 50`,输出如下:
```
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
count = 15
```
这表示在2到50之间,共有15个素数,它们分别是2、3、5、7、11、13、17、19、23、29、31、37、41、43和47。
阅读全文