2.22 (define (for-each2 proc items) (proc (car items)) (if (null? (cdr items)) (newline) (for-each2 proc (cdr items)) ) ) 2.21 (define (square-list3 items) (define (iter things answer) (if (null? things) answer (iter (cdr things) ( append answer (list(square (car things))) ) )) ) (iter items ()) ) 2.20 (define (square-list1 items) (if (null? items) () (cons (* (car items) (car items) ) (square-list1 (cdr items))) ) ) (define (square-list2 items) (map (lambda (x) (* x x)) items ) ) 2.19 (define us-coins (list 50 25 10 5 1)) (define uk-coins (list 100 50 20 10 5 2 1 0.5)) (define (cc amount coin-values) (cond ((= amount 0) 1) ((or (< amount 0) (null? coin-values)) 0) (else (+ (cc amount (except-first-denomination coin-values)) (cc (- amount (first-denomination coin-values)) coin-values ) )) ) ) (define (first-denomination items) (car items) ) (define (except-first-denomination items) (cdr items) ) (cc 100 us-coins)
SICP Exercise 2.19-
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.