c语言怎么判断区间内素数的个数

   2025-02-15 3980
核心提示:要判断区间内素数的个数,可以采用以下方法:编写一个函数来判断一个数是否为素数。素数是指只能被1和自身整除的数,因此可以从2

要判断区间内素数的个数,可以采用以下方法:

编写一个函数来判断一个数是否为素数。素数是指只能被1和自身整除的数,因此可以从2开始,逐个判断该数是否能被2到该数的平方根之间的任何数整除。
#include <math.h>int isPrime(int num) {    if (num <= 1) {        return 0;    }        int limit = sqrt(num);    for (int i = 2; i <= limit; i++) {        if (num % i == 0) {            return 0;        }    }        return 1;}
在主函数中,获取用户输入的区间上下界。
#include <stdio.h>int main() {    int lower, upper;    printf("请输入区间上下界:");    scanf("%d %d", &lower, &upper);
使用循环遍历区间内的所有数,对每个数调用判断素数的函数。如果该数是素数,则计数器加1。
    int count = 0;    for (int i = lower; i <= upper; i++) {        if (isPrime(i)) {            count++;        }    }
输出最终的素数个数。
    printf("区间内素数的个数为:%d\n", count);        return 0;}

完整代码如下:

#include <stdio.h>#include <math.h>int isPrime(int num) {    if (num <= 1) {        return 0;    }        int limit = sqrt(num);    for (int i = 2; i <= limit; i++) {        if (num % i == 0) {            return 0;        }    }        return 1;}int main() {    int lower, upper;    printf("请输入区间上下界:");    scanf("%d %d", &lower, &upper);        int count = 0;    for (int i = lower; i <= upper; i++) {        if (isPrime(i)) {            count++;        }    }        printf("区间内素数的个数为:%d\n", count);        return 0;}

通过运行该程序,用户可以输入区间的上下界,然后程序会输出该区间内的素数个数。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言