c语言怎么求一个区间中素数个数

avatar
作者
筋斗云
阅读量:4

要求一个区间中素数的个数,可以使用以下的方法:

  1. 编写一个函数isPrime()来判断一个数是否为素数。该函数接受一个参数n,返回一个布尔值,表示n是否为素数。
  • 判断一个数n是否为素数的方法可以是:从2到sqrt(n)逐个判断n是否能被整除,如果找到一个能整除的数,则n不是素数;如果找不到能整除的数,则n是素数。
  1. 在主函数中,输入一个区间的上下界,使用循环遍历这个区间的每一个数,判断它是否是素数,如果是素数,则计数器加1。

  2. 最后输出计数器的值,即为这个区间中素数的个数。

下面是一个示例代码:

#include <stdio.h> #include <stdbool.h> #include <math.h> // 判断一个数是否为素数 bool isPrime(int n) { if (n <= 1) { return false; } int sqrt_n = sqrt(n); for (int i = 2; i <= sqrt_n; i++) { if (n % i == 0) { return false; } } return true; } int main() { int lower, upper; int count = 0; printf("请输入一个区间的上下界:"); scanf("%d %d", &lower, &upper); for (int i = lower; i <= upper; i++) { if (isPrime(i)) { count++; } } printf("这个区间中素数的个数为:%d\n", count); return 0; } 

示例运行结果:

请输入一个区间的上下界:1 100 这个区间中素数的个数为:25 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!