ในวิชาคณิตศาสตร์ เฉพาะ Mersenne เป็นตัวเลขที่สามารถเขียนได้ในรูปแบบ M(n) =2^n − 1 สำหรับจำนวนเต็ม n และที่จริงแล้วเป็นจำนวนเฉพาะ
ตัวอย่างเช่น − Mersenne Primes สี่ตัวแรกคือ 3, 7, 31 และ 127
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลขและตรวจสอบว่าเป็น aMersenne prime หรือไม่ มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน
ตัวอย่าง
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