Mersenne Prime in JavaScript
在数学中,梅森素数是一个可以以M(n)=2^n-1的形式写的数字,表示某个整数n,并且实际上是质数。
例如-前四个Mersenne素数是3、7、31和127
我们需要编写一个带数字的JavaScript函数,并检查它是否为Mersenne素数。让我们为该函数编写代码
示例
const isPrime = num => {
let i = 2;
while(i <= num / 2){
if(num % i++ === 0){
return false;
};
};
return true;
}
const mersennePrime = num => {
if(!isPrime(num)){
return false;
};
let i = 0, n = num+1;
while(n !== 1){
if(n % 2 !== 0){
return false;
};
n /= 2;
};
return true;
};
console.log(mersennePrime(31));
console.log(mersennePrime(127));
console.log(mersennePrime(3));
console.log(mersennePrime(37));
console.log(mersennePrime(87));
console.log(mersennePrime(7));输出结果
控制台中的输出将为-
true true true false false true