SICPゼミ第49回

練習問題4.21

a

 ((lambda (n)
      ((lambda (fib) (fib fib n))
       (lambda (ft k)
         (if (< k 2) 1
             (+ (ft ft (- k 2)) (ft ft (- k 1)))))))
   5)

by tube

b

(define (f x)
  ((lambda (even? odd?) (even? even? odd? x))
   (lambda (ev? od? n)
     (if (= n 0) true (od? ev? od?  (- n 1))))
   (lambda (ev? od? n)
     (if (= n 0) false (ev? ev? od? (- n 1))))))