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