Power set: Difference between revisions
→Single-Functor Definition: simplified version is much faster
(→Logical (cut-free) Definition: symbolic operation etc) |
(→Single-Functor Definition: simplified version is much faster) |
||
Line 1,734:
===Single-Functor Definition===
<lang Prolog>power_set(
maplist( append([X]), PS1, PS2 ), % i.e. prepend X to each PS1
▲power_set(T, PS, PS1) :-
append(PS1, PS2, PS).</lang>
Output :
<pre>
:- power_set([1,2,3,4,5,6,7,8], X), length(X,N), writeln(N).
256
</pre>
|