Exemple #1
0
        public static int Main()
        {
            var links = new HashSet <(long p1, long p2)>();

            var primeSet = new HashSet <long>(PrimeUtils.FilePrimes);

            foreach (var prime in PrimeUtils.FilePrimes)
            {
                links.UnionWith(GetLinks(prime, primeSet));
            }

            var currPrime = primeSet.Max();

            for (var i = 0; i < 1000000; i++)
            {
                currPrime = PrimeUtils.NextPrimeBasic(currPrime);
                links.UnionWith(GetLinks(currPrime, primeSet));
                primeSet.Add(currPrime);
            }

            links = new HashSet <(long p1, long p2)>(CompressLinks(links));

            var conn4 = ConnectedSignatures4(links).OrderBy(x => x.Item1 + x.Item2 + x.Item3 + x.Item4).ToArray();
            var conn5 = ConnectedSignatures5(links, conn4).OrderBy(x => x.Item1 + x.Item2 + x.Item3 + x.Item4 + x.Item5).ToArray();

            return(0);
        }