protected override void Generate() { Sequence primes = new SieveOfEratosthenes(Max + X); foreach (int prime in primes.InRange(LastNumber, Max)) { int p2 = prime + X; int p3 = prime - X; if (primes.Contains(p2) || primes.Contains(p3)) { Numbers.Add(prime); } } }
protected override void Generate() { Sequence primes = new SieveOfEratosthenes(Max); foreach (int prime in primes.InRange(LastNumber, Max)) { int sumOfDigits = prime.SumOfDigits(); if (primes.Contains(sumOfDigits)) //sum of digits is guaranteed to be equal or lesser number, so its in the prime collection { Numbers.Add(prime); } } }