Jak mogę maksymalnie podzielić zestaw?
Próbuję rozwiązać jeden z problemów projektu Euler. W konsekwencji potrzebuję algorytmu, który pomoże mi znaleźć wszystkie możliwe partycje zestawu, w dowolnej kolejności.
Na przykład, biorąc pod uwagę zestaw2 3 3 5
:
2 | 3 3 5
2 | 3 | 3 5
2 | 3 3 | 5
2 | 3 | 3 | 5
2 5 | 3 3
i tak dalej. Prawie każda możliwa kombinacja członków zestawu. Oczywiście przeszukałem sieć, ale nie znalazłem wiele, które byłyby dla mnie przydatne, ponieważ mówię programistą, a nie zaawansowanym matematyką.
Czy ktoś może mi przy tym pomóc? Potrafię czytać prawie każdy język programowania, od języka BASIC po Haskell, więc publikuj w dowolnym języku.