Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

จำนวนเฉพาะเมอร์เซน (Mersenne Prime) ใน JavaScript


ในคณิตศาสตร์ จำนวนเฉพาะเมอร์เซนคือจำนวนที่สามารถเขียนในรูป M(n) = 2^n - 1 สำหรับจำนวนเต็ม n และเป็นจำนวนเฉพาะจริง

เช่น จำนวนเฉพาะเมอร์เซน 4 ตัวแรกคือ 3, 7, 31, และ 127

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลขและตรวจสอบว่ามันเป็นจำนวนเฉพาะเมอร์เซนหรือไม่ มาเขียนโค้ดกัน

ตัวอย่าง

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