본문 바로가기

S.I.C.P

[ex 1.10 ] 애커만 함수

http://www.xevious7.com/226

애커만 함수의 정의? 

기하급수적인 재귀호출로, 성능을 측정할때 사용한다고 한다.


(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 2) x가 1일때 2^y 이라는것을 발견. 안쓰는 머리 굴리니 아프구먼! 

인터넷 참조 하고 해서

(A 0 n) =  2 * n
(A 1 n) = 2^n
(A 2 n) = 2^(A 2 n-1 )

어렵다 어려워!! 
그래도 일단 이해.. 꾸준히 해보자고!

[출처] [SICP] 연습문제 1.10|작성자 라스