JavaScript 中的梅森质数
在数学中,Mersenne 质数是指可以写成 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP