- 15 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 23:02:53 ]
- >>13 乙です。
末尾再帰 (define fact (lambda (n) (letrec ((fact-tailrecursion (lambda (n prod) (if (= n 1) prod (fact-tailrecursion (- n 1) (* prod n)) ) ) )) (fact-tailrecursion n 1) ) ) 上記の末尾再帰は、下記のiterationと等価。 (define fact-iteration (lambda (n) (do ((n n (- n 1)) (prod 1 (* prod n)) ) ((= n 1) prod) ) ) )
|

|