Сгенерируйте возможную последовательность номеров для лотереи 49/6 - PullRequest
1 голос
/ 09 августа 2011

Я хочу сгенерировать все возможные последовательности для 49 6 лотереи

Итак, мне нужна числовая последовательность для 6 шаров, взятых из группы от 1 до 49.

Могу ли я получить логику для генерации этих последовательностей?

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Вот хорошо написанная статья, которая охватывает различные сценарии комбинаций и перестановок. В конце статьи также есть хороший список ссылок.

http://www.codingthewheel.com/archives/exhaustively-enumerating-combinations-and-permutations-in-code

1 голос
/ 02 августа 2015
<?php

$totalOutcomesEnumerated = 0;

for ($ball1 = 1; $ball1 < 45; $ball1++) {
  for ($ball2 = $ball1 + 1; $ball2 < 46; $ball2++) {
    for ($ball3 = $ball2 + 1; $ball3 < 47; $ball3++) {
      for ($ball4 = $ball3 + 1; $ball4 < 48; $ball4++) {
        for ($ball5 = $ball4 + 1; $ball5 < 49; $ball5++) {
          for ($ball6 = $ball5 + 1; $ball6 < 50; $ball6++) {
            // Each iteration of this loop visits a single outcome
            $totalOutcomesEnumerated++;
            echo $ball1 . ',' . $ball2 . ',' . $ball3 . ',' . $ball4 . ',' . $ball5 . ',' . $ball6 . PHP_EOL;
          }
        }
      }
    }
  }
}

echo 'Total outcomes : ' . $totalOutcomesEnumerated . PHP_EOL ; // 13983816
...