10 lines
237 B
Clojure
10 lines
237 B
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])
|