1

题目

标题:等差素数列

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

clipboard.png


皮卡丘丘丘
50 声望12 粉丝

不忘初心方得始终,念念不忘必有回响