Computer >> Máy Tính >  >> Lập trình >> Javascript

Mersenne nguyên tố trong JavaScript

Trong Toán học, một số nguyên tố Mersenne là một số có thể được viết dưới dạng M (n) =2 ^ n - 1 số nguyên n và thực sự là một số nguyên tố.

Ví dụ - Bốn số nguyên tố Mersenne đầu tiên là 3, 7, 31 và 127

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số và kiểm tra xem nó có phải là số nguyên tố aMersenne hay không. Hãy viết mã cho chức năng này

Ví dụ

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

true
true
true
false
false
true