Learn R Programming

numbers (version 0.5-6)

mersenne: Mersenne Numbers

Description

Determines whether $p$ is a Mersenne number, that is such that $2^p - 1$ is prime.

Usage

mersenne(p)

Arguments

p
prime number, not very large.

Value

  • Returns TRUE or FALSE, indicating whether p is a Mersenne number or not.

Details

Applies the Lucas-Lehmer test on p. Because intermediate numbers will soon get very large, uses `gmp' from the beginning.

References

http://mathworld.wolfram.com/Lucas-LehmerTest.html

Examples

Run this code
P <- Primes(32)
M <- c()
for (p in P)
    if (mersenne(p)) M <- c(M, p)
# Next Mersenne numpers with primes are 521 and 607 (below 1200)
M                       # 2  3   5    7    13     17   19   31   61  89  107  127
gmp::as.bigz(2)^M - 1   # 3  7  31  127  8191 131071  ...

Run the code above in your browser using DataLab