#include <stdio.h>
#include <string.h>
#include <stdbool.h>
//验证上限
#define maxSize 10000000
bool isPrime[maxSize];//是否是素数
int prime[maxSize];//存素数
int main(void)
{
/*埃氏筛*/
int i, j, num;
memset(isPrime, true, sizeof(isPrime));
isPrime[0] = isPrime[1] = false;
for( i = 0, num = 0 ;i < maxSize ;++i )
{
if(isPrime[i] == false)
continue;
prime[num++] = i;
for( j = 2*i ;j < maxSize ;j+=i )
isPrime[j] = false;
}
int d;//公差
for( d= 1; d < 1000000 ;++d )//遍历公差为1~1000000的情况
{
for( i = 0; i<num-10 ; ++i )//遍历每个素数作为首项的情况
{
for( j = 0;j < 10 ;++j )//aj遍历a0、a1、a2......a9
{ //aj是否为素数
if(isPrime[ prime[i]+d*j ]==false)
break;
}
if(j==10)//10个都是素数
{
printf("%d", d);
return 0;
}
}
}
}