您的位置:首页 > 其它

Sieve of Eratosthenes

2016-10-24 21:26 405 查看
用Eratosthenes算法来筛选素数(例子为100以内的所有素数)

#include <stdio.h>

#include "iostream"

#include "math.h"

using namespace
std;

#define MAX 100

int main()

{

    int i,j,c=0;

    int prime[MAX+1];

    for(i=2;i<=MAX;i++)

    {

        prime[i]=1;

    }

    for(i=2;i<=sqrt(MAX);i++)

    {

        if(prime[i]==1)

        {

            for(j=2*i;j<=MAX;j++)

            {

                if(prime[j]!=1)

                    continue;

                if(j%i==0)

                    prime[j]=0;

            }

        }

    }

    for(i=2;i<MAX;i++)

    {

        if(prime[i]==1)

        {

            cout<<i<<' ';

            c++;

            if(c%10==0)

                cout<<endl;

        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: