Ищем алгоритм "Домино-комбинация" - PullRequest
0 голосов
/ 05 февраля 2010

Я собираюсь закончить свое обучение в качестве программиста, и у меня есть хороший проект j2me для работы, но я должен признать, что я не настолько хорош с математическими алгоритмами, как хотелось бы.

Моя задача - создать все возможные «пары домино» из заданного набора значений. Например: возможные значения варьируются от 0 до 6. Теперь представьте несколько токенов домино с этими значениями. Выходные данные должны быть примерно такими:

00
01
02
03
04
05
06
11
12
13
...

Каждая пара появляется только один раз, но возможны пары с двумя равными значениями.

Я уже искал эту проблему, но либо не нашел решения для этой конкретной проблемы, либо я не совсем понял, как работают алгоритмы.

Я бы очень признателен за любые объяснения и алгоритмы. Не стесняйтесь размещать альтернативные решения. Я бы предпочел не просто иметь решение, но и понять его;)

1 Ответ

7 голосов
/ 05 февраля 2010

Псевдокод:

for i from 0 to n inclusive
   for j from i to n inclusive
       output i,j

Важным моментом является то, что второй цикл начинается не с нуля. Это означает, что нам не нужно проверять, использовалось ли домино. Мы знаем, что все домино, созданные с использованием этого алгоритма, уникальны из-за способа построения алгоритма.

...