C语言实现:计算n到m之间的素数个数
以下是使用C语言编写的解决方案:
#include <stdio.h>
int isPrime(int num) {
if (num < 2) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int countPrimes(int n, int m) {
int count = 0;
for (int i = n; i <= m; i++) {
if (isPrime(i)) {
count++;
}
}
return count;
}
int main() {
int n, m;
scanf("%d %d", &n, &m);
int result = countPrimes(n, m);
printf("%d\n", result);
return 0;
}
解释:
- 首先,定义一个函数
isPrime,用于判断一个数是否为素数。函数的参数为一个正整数num。 - 在函数中,首先判断如果
num小于2,则不是素数,返回0。 - 使用一个循环,从2到
num的平方根,判断是否能被整除。如果能被整除,则不是素数,返回0。 - 如果循环结束后都没有找到能整除的因子,则是素数,返回1。
- 定义一个函数
countPrimes,用于计算n到m之间的素数个数。函数的参数为两个正整数n和m。 - 在函数中,初始化素数个数为0。
- 使用一个循环,从n到m,判断每个数是否为素数。如果是素数,则素数个数加1。
- 返回素数个数。
- 在
main函数中,使用scanf函数读取输入的两个正整数n和m。 - 调用
countPrimes函数计算素数个数,并输出结果。 - 注意:在示例代码中,我们假设输入的两个正整数n和m在0到200之间。您可以根据实际情况进行调整。
原文地址: https://www.cveoy.top/t/topic/c4qF 著作权归作者所有。请勿转载和采集!