@xolova

Как перебрать сочетания с большим количеством чисел?

Есть скрипт, который перебирает числа в указанном диапазоне по парам и без повторов. Например: числа 1-2-3-4 выведут результат [1-2][1-3][1-4][2-3][2-4][3-4].
Всё хорошо работает, но бывают моменты, когда необходимо перебрать числа от 1 до 10.000, и тут скрипт просто не справляется от такого количества. Как можно оптимально перебрать такое количество чисел?
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А в чём проблема? Перебор тривиальный.
for (i = 1; i < 10000;  i++) {
  for (j = i+1; j <= 10000; j++) {
    // пара [i, j]
  }
}

Другое дело, что при 10000 чисел вы получите 10000*9999/2 = 49'995'000 пар.
То есть, вам надо ускорять обработку каждой пары и распараллеливать вычисления.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы