- 46 名前:27 mailto:sage [2009/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))))))
|

|