以下是使用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之间的素数个数。函数的参数为两个正整数nm
  • 在函数中,初始化素数个数为0。
  • 使用一个循环,从n到m,判断每个数是否为素数。如果是素数,则素数个数加1。
  • 返回素数个数。
  • main函数中,使用scanf函数读取输入的两个正整数n和m。
  • 调用countPrimes函数计算素数个数,并输出结果。
  • 注意:在示例代码中,我们假设输入的两个正整数n和m在0到200之间。您可以根据实际情况进行调整。

原文地址: https://www.cveoy.top/t/topic/c4qF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录