Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View 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

View 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

View 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