Power set: Difference between revisions
Content deleted Content added
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}}== |