第八屆藍橋杯省賽真題——2、等差數列
題目
標題:等差素數列
2,3,5,7,11,13,….是素數序列。類似:7,37,67,97,127,157 這樣完全由素陣列成的等差數列,叫等差素數數列。上邊的數列公差為30,長度為6。
2004年,格林與華人陶哲軒合作證明了:存在任意長度的素數等差數列。 這是數論領域一項驚人的成果!
有這一理論為基礎,請你藉助手中的計算機,滿懷信心地搜尋:長度為10的等差素數列,其公差最小值是多少?
注意:需要提交的是一個整數,不要填寫任何多餘的內容和說明文字。
思路
建立一個函式判斷是否為素數,然後再使用雙重迴圈判斷即可。
JS實現程式碼
function isPrime(num) { if(num<1 || (num>2 && num%2==0)) { return false; } for(var i=2; i<num; i++) { if(num%i==0){ return false; } } return true; } //首項n、公差d雙重迴圈 for(var d=2; d<1000; d++) { for(var n=2; n<1000; n++) { if(isPrime(n)//第1項 && isPrime(n+d)//第2項 && isPrime(n+2*d)//第3項 && isPrime(n+3*d)//第4項 && isPrime(n+4*d)//第5項 && isPrime(n+5*d)//第6項 && isPrime(n+6*d)//第7項 && isPrime(n+7*d)//第8項 && isPrime(n+8*d)//第9項 && isPrime(n+9*d)//第10項 ) { console.log(n,d); } } }
答案
210