public static void GapInPrimesTests_test2() { var t = AtkinPrimeNumbersGenerator.PrimesOld(1000000); var tt = AtkinPrimeNumbersGenerator.Primes(1000000L); //var tt = new AtkinPrimeNumbersGenerator(1000000000); Assert.AreEqual(tt.Count(), t.Count()); }
public static long[] Gap(int g, long m, long n) { var allPrimes = AtkinPrimeNumbersGenerator.Primes(n); var smalRange = allPrimes.Where(a => m <= a && a <= n).ToList(); for (var i = 1; i < smalRange.Count(); i++) { var actualGap = smalRange.ElementAt(i) - smalRange.ElementAt(i - 1); if (actualGap == g) { return(new[] { smalRange.ElementAt(i - 1), smalRange.ElementAt(i) }); } } return(null); }