Anonymous user
Power set: Difference between revisions
→{{header|Clojure}}: added alternate solution
m (→{{header|Clojure}}: contrib -> math) |
(→{{header|Clojure}}: added alternate solution) |
||
Line 464:
user> (subsets S)
(() (1) (2) (3) (4) (1 2) (1 3) (1 4) (2 3) (2 4) (3 4) (1 2 3) (1 2 4) (1 3 4) (2 3 4) (1 2 3 4))</lang>
'''Alternate solution''', with no dependency on third-party library:
<lang Clojure>(defn powerset
[coll]
(reduce (fn [a x]
(set (concat a (map #(set (concat #{x} %)) a))))
#{#{}} coll))
(powerset #{1 2 3})</lang>
<lang Clojure>#{#{} #{1} #{2} #{1 2} #{3} #{1 3} #{2 3} #{1 2 3}}</lang>
=={{header|CoffeeScript}}==
|