標題:等差素數列
2,3,5,7,11,13,....是素數序列。
類似:7,37,67,97,127,157 這樣完全由素數組成的等差數列,叫等差素數數列。
上邊的數列公差為30,長度為6。
2004年,格林與華人陶哲軒合作證明了:存在任意長度的素數等差數列。
這是數論領域一項驚人的成果!
有這一理論為基礎,請你借助手中的計算機,滿懷信心地搜索:
長度為10的等差素數列,其公差最小值是多少?
注意:需要提交的是一個整數,不要填寫任何多余的內容和說明文字。
比賽的時候有點混亂,結果連暴力都沒暴力出來,后來比賽一結束,就看了一遍就想到了怎么寫,,心態決定命運啊_(°:з」∠)_
純暴力打出素數表,然后挨個遍歷知道找到合適的就好
1 #include<stdio.h>
2 int su[20000]={0};
3 int shai[20000]={1,1,0};
4 void p()
5 {
6 int k=0;
7 for(int i=0;i<10000;i++)
8 {
9 if(shai[i])
10 {
11 continue;
12 }
13 for(int j=i;j*i<10000;j++)
14 {
15 shai[i*j]=1;
16 }
17 su[k++]=i;
18 }
19 }
20 int suu()
21 {
22 int i,j,k;
23 for(i=0;i<10000;i++)
24 {
25 int kk=su[i];
26 for(k=1;k<1000;k++)
27 {
28
29 for(j=1;j<10;j++)
30 {
31 if(shai[kk+j*k])
32 {
33 break;
34 }
35 }
36 if(j>=10)
37 {
38 return k;
39 }
40 }
41 }
42 }
43 int main()
44 {
45 p();
46 int a=suu();
47 printf("%d\n",a);
48 return 0;
49 }