Hallo snorri,
Diese Lösung kommt jedes mal bei diesem oder ähnlichen Problemen.
Richtig berechnet man das natürlich so:
[latex]f: \mathcal{P}(\Sigma) \mapsto \mathcal{P}(\Sigma^+)[/latex]
[latex]f(s) = \bigcup_{e \in s} \left ( {e} \times f(s \setminus e) \right )[/latex]
Wobei [latex]\Sigma[/latex] eine Zeichenmenge [latex]\Sigma^+[/latex] eine Menge von Zeichenfolgen mit mindestes Länge eins und [latex]\mathcal{P}(M)[/latex] die Potenzmenge einer Menge ist. Alle anderen Schreibweisen dürften Schulstoff sein.
Im Archiv befinden sich auch beliebig viele Implementierungen davon.
Grüße
Daniel