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