题目链接
这个题就是直接枚举。先把一定范围内的素数都存起来。然后以这些素数作为素数列的第一个数字去枚举方差判断其后连续九个数字是都是素数,如果是的话直接输出。
可无语一开始妹想到。
#include<bits/stdc++.h>
using namespace std;
bool prime(int x){
if(x==1) return false;
for(int i=2;i*i<=x;i++){
if(x%i==0) return false;
}
return true;
}
const int N=10005;
int que[N];
int main()
{
int dex=1;
for(int i=2;i<=10000;i++){
if(prime(i)) que[dex++]=i;
}
int flag;
for(int i=1;i<dex;i++){
flag=1;
for(int j=3;j<=500;j++){
for(int z=0;z<10;z++){
if(!prime(que[i]+j*z)){
flag=0;
break;
}
}
if(flag) {
cout<<j<<endl;
return 0;
}
else
flag=1;
}
}
return 0;
}