Несколько способов увеличить скорость перебора случайных чисел:
- Оптимизировать накопление суммы. vk.com Можно добавлять на каждом шаге вложенного цикла только те элементы, которых ещё не было в сумме на прошлой итерации. vk.com
- Использовать префиксные суммы. vk.com Этот метод позволяет избежать излишних арифметических операций и получать суммы элементов подпоследовательностей за одну операцию вычитания. vk.com
- Перебирать подпоследовательности от максимальной длины к меньшей. vk.com При нахождении суммы нужной кратности можно прерывать вложенный цикл. vk.com
- Распараллеливать вычисления. proglib.io Это может ускорить процесс, но, несмотря на количество процессов, всё равно придётся просмотреть каждый элемент массива. proglib.io
- Использовать квантовые алгоритмы. proglib.io Например, алгоритм Гровера, который используется в квантовых вычислениях для решения задач перебора. proglib.io
Также для увеличения скорости перебора случайных чисел можно выбирать генераторы с высокой производительностью, например, Xorshift или PCG. www.mql5.com