Power set: Difference between revisions

Content added Content deleted
m (→‎{{header|D}}: update)
Line 546: Line 546:
(append (mapcar #'(lambda (elt) (cons (car l) elt)) prev)
(append (mapcar #'(lambda (elt) (cons (car l) elt)) prev)
prev))))</lang>
prev))))</lang>


Imperative-style using LOOP:
<lang lisp>(defun powerset (xs)
(loop for i below (expt 2 (length xs)) collect
(loop for j below i for x in xs if (logbitp j i) collect x)))</lang>
Output:
>(powerset '(1 2 3)
(NIL (1) (2) (1 2) (3) (1 3) (2 3) (1 2 3))


=={{header|D}}==
=={{header|D}}==