Power set: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→Module: ntheory: Fix comment: Perl 6 --> Raku) |
|||
Line 953: | Line 953: | ||
(powerset #{1 2 3})</lang> |
(powerset #{1 2 3})</lang> |
||
<lang Clojure>#{#{} #{1} #{2} #{1 2} #{3} #{1 3} #{2 3} #{1 2 3}}</lang> |
<lang Clojure>#{#{} #{1} #{2} #{1 2} #{3} #{1 3} #{2 3} #{1 2 3}}</lang> |
||
'''Using bit-test''': |
|||
see: https://clojuredocs.org/clojure.core/bit-test#example-5d401face4b0ca44402ef78b |
|||
<lang Clojure>(defn powerset [coll] |
|||
(let [cnt (count coll) |
|||
bits (Math/pow 2 cnt)] |
|||
(for [i (range bits)] |
|||
(for [j (range i) |
|||
:while (< j cnt) |
|||
:when (bit-test i j)] |
|||
(nth coll j))))) |
|||
(powerset [1 2 3])</lang> |
|||
<lang Clojure>(() (1) (2) (1 2) (3) (1 3) (2 3) (1 2 3))</lang> |
|||
=={{header|CoffeeScript}}== |
=={{header|CoffeeScript}}== |