今回はpascal三角形を再帰で解く問題。
各要素を求めるには
n段目のどこのポジションがわかればいいはず…
というわけで
(define (pascal-triangle x n)
(if (or (>= 0 x) (<= n x))
1
(+ (pascal-triangle (- x 1) (- n 1))
(pascal-triangle x (- n 1)))))
両端の値は常に1なるので
内側にあたる値を再帰で解いていく。
再帰の方向としては、
底辺から対角の頂点に向かっていく感じかな。