#алгоритм #математика #комбинаторика
Необходимо построить сочетания всех возможных размеров так, чтобы элементы в сочетаниях
не совпадали (1,2,3; 1,3,2; 2,1,3; 2,3,1; 3,1,2; 3,2,1 - одни и те же сочетания)
Например, даны числа: 1,2,3,4
Ответ:
1
2
3
4
12
13
14
23
24
34
123
124
134
1234
Можно и псевдокод.
Ответы
Ответ 1
Вы забыли еще 234 и пустое сочетание :) Берем число, каждому биту которого соответствует один элемент вашего множества, и проходим все числа в цикле - от 00..00 до 11..11. Все. Каждое число - это одно "сочетание" (вообще-то это генерация всех подмножеств данного множества), которое строим, выбирая элементы, соответствующие единичным битам... Например, ваше 1234 - соответственно, 4-битное число... 0000 пустое множество 0001 1 0010 2 0011 12 0100 3 .... 1110 432 1111 4321
Комментариев нет:
Отправить комментарий