public IsolatedPrime(int max)
        {
            Sequence   primes     = new SieveOfEratosthenes(max);
            Sequence   twinPrimes = new TwinPrime(max);
            Difference difference = primes.Difference(twinPrimes);

            saveToFolder = "Prime_Isolated";
            Max          = difference.Max;
            Numbers      = difference.Numbers;
        }
Example #2
0
        protected override void Generate()
        {
            Sequence primes = new SieveOfEratosthenes(Max * 10);             //going order of magnitude higher than prime because rotating prime could end up with a higher number; ex: 17 => 71

            foreach (int prime in primes.InRange(LastNumber, Max))
            {
                if (IsCircularPrime(prime, primes))
                {
                    Numbers.Add(prime);
                }
            }
        }
Example #3
0
        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);
                }
            }
        }
        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);
            BigInteger productOfHiggsPrimes = ProductOfNumbers();

            foreach (int prime in primes.InRange(LastNumber, Max))
            {
                int        totient        = prime - 1;
                BigInteger squaredProduct = productOfHiggsPrimes * productOfHiggsPrimes;
                if (squaredProduct % totient == 0)
                {
                    Numbers.Add(prime);
                    productOfHiggsPrimes *= prime;
                }
            }
        }