2015/11/19
SICP 問題 3.09
階乗を計算する手続き(factorial 6)
の環境構造を示す.
(define (factorial n)
(if (= n 1)
1
(* n (factorial (- n 1)))))
反復
(define factorial
(lambda (n)
(fact-iter 1 1 n)))
(define fact-iter
(lambda (product counter max-count)
(if (> counter max-count)
product
(fact-iter (* counter product)
(+ counter 1)
max-count))))