2017 蓝桥第二题
#include<bits/stdc++.h>
using namespace std;
#define MAXN 60000
int is_prime[MAXN],ans;
void sieve(){
memset(is_prime,-1,sizeof(is_prime));
for(int i=2;i*i<=MAXN;i++)
for(int j=i*i;j<=MAXN;j+=i)
if(is_prime[j]!=0)is_prime[j]=0;
}
void dfs(int num,int d,int step)
{
if(is_prime[num]==0)return;
if(step==10){ans=d;return ;}
dfs(num+d,d,step+1);
}
int main()
{
sieve();
for(int i=2;i<=MAXN;i++){
if(is_prime[i]){
for(int j=1;j<=1000;j++){
if(ans!=0)return cout<<ans<<endl,0;
dfs(i,j,1);
}
}
}
}
输出:210