用Eratoshenes筛选法求素数

编译器:VS2017 

语言:C

代码实现的是1-200之间的素数

#include<stdio.h>

int main()
{
    int prime[201];
    int i, d;
    for (i = 2; i < 201; i++)
        prime[i] = i ;
    for (d = 2; d*d <= 200; d++)
    {
        for (i = d+1; i < 201; i++)
        {
            while (prime[i] == 0 && i < 201)
                i++;
            if (prime[i] % d == 0 && i < 201)
                prime[i] = 0;
        }
    }
    for (i = 2; i < 201; i++)
        if (prime[i])
            printf("%d ", prime[i]);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/sinat_37372543/article/details/88359424