素数打表

来源:互联网 发布:python 调用c dll 编辑:程序博客网 时间:2024/06/08 19:45

新浪博客,发表时间 -- 2009-07-26 19:59:13

 

//isprime[]布尔型   p[]整型
const int MAX=3000000;   //求[2,MAX]间的素数
bool isprime[MAX+1];
int prime[MAX];
int pnum;  //素数表元素总数
void getprime()
   
    int i,j;
    memset(isprime,0,sizeof(isprime));
    pnum=0;
    for (i=2;i<=MAX;i++)
    {
        if (!isprime[i])     prime[pnum++]=i;  
        for (j=0; j<pnum && prime[j]*i<=MAX ; j++)
        {
              isprime[prime[j]*i] = 1;  
              if (i%prime[j]==0) break;
        }
    }