■
今日も1問だけ解く
問題1.10
(define (A x y) (cond ((= y 0) 0) )((= x 0) (* 2 y))( ((= y 1) 2) (else (A (- x 1) (A x (- y 1))))))
(A 1 10) = (A 0 (A 1 9)) = 2(A 1 9) = (A 1 1) = = (A 2 4) = (A 1 (A 2 3)) = (A 1 (A 1 (A 2 2))) = (A 1 (A 1 (A 1 (A 2 1)))) = (A 1 (A 1 (A 1 2))) = (A 1 (A 1 2^2)) = (A 1 ) = (A 3 3) = (A 2 (A 3 2)) = (A 2 (A 2 (A 3 1))) = (A 2 (A 2 2)) = (A 2 (A 1 (A 2 1))) = (A 2 (A 1 2)) = (A 2 (A 0 (A 1 1))) = (A 2 (A 0 2)) = (A 2 2*2) = (A 2 4) =
(define (f n) (A 0 n)) (A 0 n) = 2n ※Aの定義より (define (g n) (A 1 n)) (A 1 n) = (A 0 (A 1 n-1)) ※Aの定義より = (f (A 1 n-1)) = 2(A 1 n-1) = (A 1 1) = (define (h n) (A 2 n)) (A 2 n) = (A 1 (A 2 n-1)) = (f (A 2 n-1)) = ※h(n-1) = (h n-1)とする = ※n回2の冪乗を繰り返す =