09/07/29 17:01:31
>>32
自分が書いたのはこんなの。
Lisp/Schemeはほとんど使ったことないんで書き方がおかしいかもしれないが。
(define (add-elt elt set)
(cond
((null? set) (list elt))
((member elt set) set)
(else (cons elt set))))
(define (map-add-elt elt set)
(cond
((null? set) '())
(else (map (lambda (m) (add-elt elt m)) set))))
(define (power-set set)
(cond
((null? set) '(()))
(else (let
((ps (power-set (cdr set))))
(append ps (map-add-elt (car set) ps))))))