Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Số nguyên tố Mersenne trong JavaScript


Trong toán học, số nguyên tố Mersenne là số có dạng M(n) = 2^n - 1 với n là số nguyên và bản thân nó là số nguyên tố.

Ví dụ: bốn số Mersenne nguyên tố đầu tiên là 3, 7, 31, 127.

Chúng ta cần viết hàm JavaScript kiểm tra một số có phải là số nguyên tố Mersenne hay không.

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

Kết quả

Đầu ra trong console sẽ là:

true true true false false true