SICP 연습문제 1.12 친절한 풀이

문제

한국에서 교육을 받은 학생이라면, 파스칼 삼각형이 무엇인지는 당연히 알 것이라 생각합니다.
파스칼 삼각형을 만드는 프로시저를 짜되, 되도는 프로세스가 되도록 만들라.

문제로 부터 얻은 것

문제는 쉽습니다. 다만, pascal 프로시저를 반복하는 프로세스로 짜려고 고군분투했지만 실패했습니다.
성공하신 분이 있다면 댓글 부탁드립니다.

문제풀이

a번 줄의 b번째 원소를 (pascal a b)라고 한다면,

(define (pascal a b)
(if (or (= b 1) (= b a))
1
(+ (pascal (- a 1) b)
(pascal (- a 1) (- b 1)))))

파스칼 프로시저 테스트 결과