素数打表法

很多时间超限的问题都与素数有关

#include <stdio.h>
#define maxn 1000000//根据题意大概估算范围;
int prime[maxn];
void get_prime()
{
    for(int i=2;i<maxn;i++)
    {
        if(!prime[i])
        {
            for(int j=2;j*i<=maxn;j++)
            {
                prime[i*j]=1;
            }
        }
    }
}
int main()
{
    get_prime();
    for(int i=1;i<maxn;i++)
    {
        if(!prime[i])
        {
            printf("%d ",i);
        }
    }
}

posted @ 2017-07-02 18:32  少年爱啪啪  阅读(667)  评论(0编辑  收藏  举报