問題 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 (remainder s 2) l))) ;(same-parity 2 3 5 7 10 13 16 15) ;-> (2 10 16) ;(same-parity 3 5 7 10 13 16 15) ;-> (3 5 7 13 15) ;できた。 ;この書き方はよくつかう。 ;lispではどうやるのかとおもっていたが、これで自由度がまた増す。