题目
标题:等差素数列
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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。