找出500-600之间的质数

找出500-600之间的质数,输出时显示“质数是501.502……”(数字是我乱写的)

这是利用筛法求质数的代码:


#include <stdio.h>
#include <stdbool.h>

const int N = 650;
bool flag[650]; // 埃氏筛法

int main(void)
{
    for (int i = 0; i < N; i++)
        flag[i] = true;
    flag[0] = flag[1] = false;
    for (int i = 2; i < N; i++)
        for (int j = i + i; j < N; j += i)
            flag[j] = false;
    printf("Prime:");
    for (int i = 500; i < 600; i++)
        if (flag[i])
            printf("%d.", i);
    puts("");
    return 0;
}

这是一个判断一个数是不是质数的函数,也可以利用循环来分别判断一个数是不是质数

bool isPrime(int n)
{
    if (n < 2)
        return false;
    if (n == 2)
        return true;
    for (int i = 2; i <= n / i; i++)
        if (n % i == 0)
            return false;
    return true;
}

找出的质数如下:

503.509.521.523.541.547.557.563.569.571.577.587.593.599.

望采纳,谢谢!