tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
9
Task/Power-set/Prolog/power-set-1.pro
Normal file
9
Task/Power-set/Prolog/power-set-1.pro
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
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([], [], []).
|
||||
18
Task/Power-set/Prolog/power-set-2.pro
Normal file
18
Task/Power-set/Prolog/power-set-2.pro
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
:- use_module(library(chr)).
|
||||
|
||||
:- chr_constraint chr_power_set/2, chr_power_set/1, clean/0.
|
||||
|
||||
clean @ clean \ chr_power_set(_) <=> true.
|
||||
clean @ clean <=> true.
|
||||
|
||||
only_one @ chr_power_set(A) \ chr_power_set(A) <=> true.
|
||||
|
||||
|
||||
creation @ chr_power_set([H | T], A) <=>
|
||||
append(A, [H], B),
|
||||
chr_power_set(T, A),
|
||||
chr_power_set(T, B),
|
||||
chr_power_set(B).
|
||||
|
||||
|
||||
empty_element @ chr_power_set([], _) <=> chr_power_set([]).
|
||||
Loading…
Add table
Add a link
Reference in a new issue