SICP学习笔记 2.2.2 层次性结构
??? 练习2.24
;; 仿照换零钱的例子;; rest取不包含(car s)元素的所有剩余元素的组合;; 则应加上(car s)元素与所有剩余元素的组合(define (subsets s) (if (null? s) (list '()) (let ((rest (subsets (cdr s)))) (append rest (map (lambda (r) (append (list (car s)) r)) rest)))))1 ]=> (subsets s);Value : (() (3) (2) (2 3) (1) (1 3) (1 2) (1 2 3))?
?
?
?