如果你想找出第 n 个质数,可以使用一个循环来判断每个数是否为质数,并计数找到的质数的个数。以下是一个示例代码:

#include <stdio.h>

bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }

    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return false;
        }
    }

    return true;
}

int main() {
    int n;
    printf("Enter the value of n: ");
    scanf("%d", &n);

    int count = 0;  // 记录找到的质数个数
    int num = 2;    // 从 2 开始判断是否为质数

    while (count < n) {
        if (isPrime(num)) {
            count++;
        }

        num++;
    }

    printf("第 %d 个质数是: %d\n", n, num - 1);

    return 0;
}

在上述代码中,我们定义了一个 isPrime 函数,用于判断给定的数是否为质数。然后,在 main 函数中,我们通过一个循环来找到第 n 个质数。通过不断判断数是否为质数,并计数找到的质数个数,直到找到第 n 个质数为止。

注意,在找到第 n 个质数后,我们需要将 num 减 1 才是第 n 个质数的值,因为循环最后执行了 num++

请注意,这个方法可能在找到较大的质数时会花费较长时间。如果需要找到更大的质数,可能需要使用更优化的算法,如埃拉托斯特尼筛法。这里的示例代码提供了一个基本的实现。

如何高效查找第 N 个质数:代码示例及优化建议

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

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