好像大家素数判断都没有用自己打的表

P1579 哥德巴赫猜想(升级版)

红绿灯 @ 2017-10-02 11:44:43

好像没多少人用自己打的素数表来判断素数

明明效率可以高很多的

我截取了自己的一段程序

bool prime(int a,int *ss,int e)  // 开始时避免用到未打好表的部分
{
    int i=0;
    for(i=0;ss[i]<=(int)sqrt((double)a)&&i<=e;i++)
        if(a%ss[i]==0)
        return false;
    return true;
}
int main()
{
    int ss[3000]={0},js=0,i=0,j=0,n=0;
    ss[0]=2;
    for(i=3;i<6662;i++)
        if(prime(i,ss,js)==true)
            ss[++js]=i;
   return 0;
}

每个合数都可以化成若干个素数相乘应该都知道吧。。

那用素数判断就可以省去不必要的判断

我只发了打表的部分,后面的第三个数的判断也可以用这个函数

大佬路过请指正orz


|