Example #1
0
        public override object Run(RunModes runMode, object input, bool Logging)
        {
            Primes.InitPrimes((long)input);
            var primes = Primes.AllPrimes.Where(p => {
                var s = p.ToString();
                return(!s.Contains("0") && !s.Contains("2") && !s.Contains("4") &&
                       !s.Contains("6") && !s.Contains("8"));
            }).ToList();

            primes.Insert(0, 2);

            foreach (long prime in primes)
            {
                if (CircularPrimes.Contains(prime))
                {
                    continue;
                }
                var permutations = Permutations.GenerateRotations(prime).Distinct();
                var addPrime     = permutations.All(Primes.IsPrime);
                if (addPrime)
                {
                    CircularPrimes.AddRange(permutations);
                }
            }
            return(CircularPrimes.Count);
        }