Пример #1
0
        public static async Task <(ulong md, List <ulong> divs)> MostDivisibleNumber()
        {
            const ulong batchSize = 100000;
            var         maximum   = 4 * batchSize;

            var tasks = new List <Task <ulong> >();

            for (var i = 1ul; i *batchSize <= maximum; i++)
            {
                tasks.Add(MostDivisibleNumber((i - 1) * batchSize, i * batchSize));
            }

            var results = await Task.WhenAll(tasks);

            var mostDivisible = ComparisonHelper <ulong> .Max(results);

            return(mostDivisible, GetListOfDivisors(mostDivisible));
        }