第八届蓝桥杯省赛真题——2、等差数列

9次阅读

共计 673 个字符,预计需要花费 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

正文完
 0