2008-05-20から1日間の記事一覧

問題 2.20

(define (same-parity s . l) (define (same-parity-iter ss ll) (cond ((null? ll) null) ((= (remainder (car ll) 2) ss) (cons (car ll) (same-parity-iter ss (cdr ll)))) (else (same-parity-iter ss (cdr ll))))) (cons s (same-parity-iter (remainde…

問題 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) (define (no-more? cv) (null? cv)) (define (first-denomination cv) (car cv)) (define (except-first-denomination cv) (cdr c…

問題 2.18

(define squares (list 1 4 9 16 25)) (define (append list1 list2) (if (null? list1) list2 (cons (car list1) (append (cdr list1) list2)))) ;初めに以下を考えた。 (define (reverse items) (if (null? (cdr items)) items (cons (reverse (cdr items)…

問題 2.17

(define (last-pair items) (if (null? (cdr items)) items (last-pair (cdr items)))) (define squares (list 1 4 9 16 25)) (last-pair squares)

問題 2.7

(define (upper-bound x) (max (car x) (cdr x))) (define (lower-bound x) (min (car x) (cdr x))) ;(define (make-interval x y) (cons (mix x y) (max x y))) ;make-intervalが上なら、以下のようにかける。 ;(define (lower-bound x) (car x)) ;(define …