c语言

c语言怎么求n个数中素数的个数

小亿
269
2023-12-09 06:41:27
栏目: 编程语言

要求n个数中素数的个数,可以按照以下步骤进行:

  1. 首先定义一个函数isPrime,用于判断一个数是否为素数。判断方法可以从2开始,依次判断该数是否能被2到sqrt(n)之间的数整除,如果存在能整除的数,则该数不是素数;否则,该数是素数。

  2. 在主函数中,先读入一个整数n,表示接下来要输入n个数。

  3. 使用一个循环,读取n个数,将每个数都调用isPrime函数进行判断。如果返回结果为真,则素数个数加1。

  4. 输出素数个数。

以下是代码示例:

#include <stdio.h>
#include <math.h>

int isPrime(int num) {
    if (num <= 1) {
        return 0;
    }
    for (int i = 2; i <= sqrt(num); i++) {
        if (num % i == 0) {
            return 0;
        }
    }
    return 1;
}

int main() {
    int n, count = 0;
    printf("请输入个数n:");
    scanf("%d", &n);
    printf("请输入%d个数:", n);
    for (int i = 0; i < n; i++) {
        int num;
        scanf("%d", &num);
        if (isPrime(num)) {
            count++;
        }
    }
    printf("素数个数:%d\n", count);
    return 0;
}

注意:在上述代码中,我们使用了math.h头文件中的sqrt函数,需要在编译时链接数学库,例如使用gcc编译时可以加上-lm选项:gcc -o prime prime.c -lm

0
看了该问题的人还看了