diff --git a/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTesterWithTemplate.cs b/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTesterWithTemplate.cs index 8679dc7..d5e2c54 100644 --- a/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTesterWithTemplate.cs +++ b/PerfectNumbers.Core/Cpu/MersenneNumberDivisorByDivisorCpuTesterWithTemplate.cs @@ -2192,6 +2192,11 @@ public struct MersenneNumberDivisorByDivisorCpuTesterWithTemplate() : IMersenneN ulong limit64 = (ulong)limit; for (int x = 2; x < 64; x++) { + if ((ulong)x == prime) + { + continue; + } + ulong d = (1UL << x) - 1UL; if (d > limit64) { @@ -2216,6 +2221,11 @@ public struct MersenneNumberDivisorByDivisorCpuTesterWithTemplate() : IMersenneN break; } + if ((ulong)x == prime) + { + continue; + } + if (BigInteger.ModPow(2, prime, dBig) == BigInteger.One) { divisor = dBig;