예제 #1
0
        public void Solve()
        {
            // for now, naively just store values.
            var  exclude = new HashSet <long>();
            long maxCD   = 0;

            long i = 0;
            var  e = EValue(0);

            while (e > (double)C / 2)
            {
                if (primes.HaveCommonFactor(C, e, ref maxCD))
                {
                    exclude.Add(e);
                }
                i += 1;
                e  = EValue(i);
            }

            i = 0;
            e = EValue(0);
            int count = 0;

            while (e > (double)C / 2)
            {
                if (!exclude.Contains(e))
                {
                    count += 1;
                }
                i += 1;
                e  = EValue(i);
            }

            Console.WriteLine($"Count: {2 * count}");
        }