Lucas-Lehmer test for Mersenne numbers (Java)
From LiteratePrograms
This program is a code dump.
Code dumps are articles with little or no documentation or rearrangement of code. Please help to turn it into a literate program. Also make sure that the source of this code does consent to release it under the MIT or public domain license.
import java.math.BigInteger; class LucasLehmer { public static boolean lucasLehmer(int p) { BigInteger s = BigInteger.valueOf(4); BigInteger m = BigInteger.valueOf(2).pow(p).subtract(BigInteger.ONE); for (int i = 0; i < p - 2; i++) s = s.multiply(s).subtract(2).mod(m); return s.equals(BigInteger.ZERO); } }
Download code |