Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
25
Task/Power-set/Logtalk/power-set-1.logtalk
Normal file
25
Task/Power-set/Logtalk/power-set-1.logtalk
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
:- object(set).
|
||||
|
||||
:- public(powerset/2).
|
||||
|
||||
powerset(Set, PowerSet) :-
|
||||
reverse(Set, RSet),
|
||||
powerset_1(RSet, [[]], PowerSet).
|
||||
|
||||
powerset_1([], PowerSet, PowerSet).
|
||||
powerset_1([X| Xs], Yss0, Yss) :-
|
||||
powerset_2(Yss0, X, Yss1),
|
||||
powerset_1(Xs, Yss1, Yss).
|
||||
|
||||
powerset_2([], _, []).
|
||||
powerset_2([Zs| Zss], X, [Zs, [X| Zs]| Yss]) :-
|
||||
powerset_2(Zss, X, Yss).
|
||||
|
||||
reverse(List, Reversed) :-
|
||||
reverse(List, [], Reversed).
|
||||
|
||||
reverse([], Reversed, Reversed).
|
||||
reverse([Head| Tail], List, Reversed) :-
|
||||
reverse(Tail, [Head| List], Reversed).
|
||||
|
||||
:- end_object.
|
||||
4
Task/Power-set/Logtalk/power-set-2.logtalk
Normal file
4
Task/Power-set/Logtalk/power-set-2.logtalk
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
| ?- set::powerset([1, 2, 3, 4], PowerSet).
|
||||
|
||||
PowerSet = [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3],[4],[1,4],[2,4],[1,2,4],[3,4],[1,3,4],[2,3,4],[1,2,3,4]]
|
||||
yes
|
||||
Loading…
Add table
Add a link
Reference in a new issue