等差素数列#暴力

设一个大数枚举

太小了wa,太大了t

多少有点运气成分在里面

真实世界不也这样

 

#include<bits/stdc++.h>
using namespace std;
int ispri[1000007],prime[1000007],cnt=0;
void pri()
{
    memset(ispri,-1,sizeof(ispri));
    
    for(int i=2;i<=1000000;i++)
    {
        if(ispri[i])
        {
            cnt++;
            prime[cnt]=i;
        }
        for(int j=1;j<=cnt&&prime[j]*i<=1000000;j++)
        {
            ispri[prime[j]*i]=0;
            if(i%prime[j]==0) break;
        }
    }
}
int main()
{
    pri( );
    
    for(int i=1;i<=1000000;i++)
    {
        int a1=prime[i];
        for(int d=1;d<=10000;d++)
        {int k,cnt=1;
            for(k=1;k<=9;k++)
            {
                if(ispri[a1+d*k]==0) break;
                else cnt++;
            }
            if(cnt==10) 
            {
                cout<<d;
                return 0;
            }
        }
    }
}

 

上一篇:Qt中Mac编译MySQL驱动


下一篇:【学习笔记】欧拉筛法(线性筛素数)