Здравствуйте, WSN, Вы писали:
WSN>Ну вот такое решение есть для статически заданных констант
...
WSN>Но хотелось бы как-то это сделать универсально для любых M и N
Недавно как раз обсуждали генерацию полного набора кортежей на разных языках программирования:
http://www.rsdn.ru/forum/etude/3857046.aspxАвтор: andy1618
Дата: 25.06.10
Там есть и решения на основе поэлементного перебора массивов.
В нашем случае (сочетания) надо будет просто сократить перебор за счёт доп. условия (число в каждой позиции должно быть больше своего левого соседа).
Здравствуйте, GreenTea, Вы писали:
GT>может не самое оптимальное, но работает:
Почти то же самое, но проще
perm 0 _ = [ [] ]
perm n xs = [ p:ps | p <- xs, ps <- perm (n-1) (delete p xs) ]