Power set: Difference between revisions

Content added Content deleted
Line 1,236: Line 1,236:
(mapcar '((X) (cons (car Lst) X)) L)
(mapcar '((X) (cons (car Lst) X)) L)
L ) ) ) )</lang>
L ) ) ) )</lang>

=={{header|Prolog}}==
<lang prolog>
powerset(Set,PowerSet) :-
findall(SubSet,subset(Set,SubSet),PowerSet).

subset([],[]).
subset([_|Tail],Set) :- subset(Tail,Set).
subset([Head|Tail],[Head|Set]) :- subset(Tail,Set).


?- powerset([1,2,3,4],X).
X = [[], [4], [3], [3, 4], [2], [2, 4], [2, 3], [2, 3, 4], [1], [1, 4], [1, 3], [1, 3, 4], [1, 2], [1, 2, 4], [1, 2, 3], [1, 2, 3, 4]].
</lang>


=={{header|PureBasic}}==
=={{header|PureBasic}}==