Power set: Difference between revisions

Line 1,292:
L ) ) ) )</lang>
 
=={{header|Prolog}}==
<lang Prolog>power_set(T, PS) :-
bagof(PS1, power_set(T, [], PS1), PS).
 
power_set(T, PS, PS1) :-
select(E, T, T1), !,
append(PS, [E], PST),
( PST = PS1; power_set(T1, PS, PS1); power_set(T1, PST, PS1)).
 
power_set([], [], []).
</lang>
Output :
<pre>4 ?- power_set([1,2,3,4], L).
L = [[1],[2],[3],[4],[],[3,4],[2,3],[2,4],[2,3,4],[1,2],[1,3],[1,4],[1,3,4],[1,2,3],[1,2,4],[1,2,3,4]].
</pre>
=={{header|PureBasic}}==
This code is for console mode.
Anonymous user