函数式编程 - Scheme 4
第二十二课
; ps => power-set
> (ps '(1 2 3))
(() (2) (3) (2 3) ; 不含 1 的集合
(1) (1 2) (1 3) (1 2 3)) ; 含 1 的集合
> (ps '())
(())
(define (ps set)
(if (null? set) '(())
(append (ps (cdr set))
(map (lambda (subset)
(cons (car set) subset))
(ps (cdr set))))))
Last updated