总是喜欢把问题想复杂了,害!还是太菜!!
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
#define ll long long
const int maxn=1e5+5;
int vis[maxn];
bool check(int x)
{
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
memset(vis,0,sizeof(vis));
for(int i=2;i<=maxn;i++)
{
if(check(i))
{
vis[i]=1;
}
}
for(int i=1;i<=maxn;i++) ///公差
{
for(int j=2;j<=maxn;j++) ///起始数字
{
int count;
for( count=0;count<10;count++)///这段数列最起码有十个
{
if(vis[j+count*i]!=1)
{
break;
}
}
if(count==10)
{
printf("%d\n",i);
return 0;
}
}
}
}