Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 메르센 소수

<시간/>

수학에서 메르센 소수는 정수 n에 대해 M(n) =2^n − 1 형식으로 쓸 수 있는 숫자이며 실제로는 소수입니다.

예를 들어 - 처음 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