ในวิชาคณิตศาสตร์ เฉพาะ 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