SICP学习札记 2.2.2 层次性结构

SICP学习笔记 2.2.2 层次性结构??? 练习2.24 仿照换零钱的例子 rest取不包含(car s)元素的所有剩余元

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))
?

?

?

?