Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
14
Task/Power-set/Icon/power-set-1.icon
Normal file
14
Task/Power-set/Icon/power-set-1.icon
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
procedure power_set (s)
|
||||
result := set ()
|
||||
if *s = 0
|
||||
then insert (result, set ()) # empty set
|
||||
else {
|
||||
head := set(?s) # take a random element
|
||||
# and find powerset of remaining part of set
|
||||
tail_pset := power_set (x -- head)
|
||||
result ++:= tail_pset # add powerset of remainder to results
|
||||
every ps := !tail_pset do # and add head to each powerset from the remainder
|
||||
insert (result, ps ++ head)
|
||||
}
|
||||
return result
|
||||
end
|
||||
7
Task/Power-set/Icon/power-set-2.icon
Normal file
7
Task/Power-set/Icon/power-set-2.icon
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
procedure main ()
|
||||
every s := !power_set (set(1,2,3,4)) do { # requires '!' to generate items in the result set
|
||||
writes ("[ ")
|
||||
every writes (!s || " ")
|
||||
write ("]")
|
||||
}
|
||||
end
|
||||
19
Task/Power-set/Icon/power-set-3.icon
Normal file
19
Task/Power-set/Icon/power-set-3.icon
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
procedure power_set (s)
|
||||
if *s = 0
|
||||
then suspend set ()
|
||||
else {
|
||||
head := set(?s)
|
||||
every ps := power_set (s -- head) do {
|
||||
suspend ps
|
||||
suspend ps ++ head
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
procedure main ()
|
||||
every s := power_set (set(1,2,3,4)) do { # power_set's values are generated by 'every'
|
||||
writes ("[ ")
|
||||
every writes (!s || " ")
|
||||
write ("]")
|
||||
}
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue