1.11
遞歸計算過程
(define (f n)
(if (< n 3)
n
(+ (f (- n 1))
(* 2 (f (- n 2)))
(* 3 (f (- n 3))))))
迭代計算過程
(define (f n)
(f-iter n 0 1 2))
(define (f-iter n a b c)
(if (< n 3)
c
(f-iter (- n 1)
b
c
(+ (* 3 a)
(* 2 b)
c))))
1.12
帕斯卡三角形(遞歸計算)
(define (pas n i)
(cond ((= i 0) 0)
((= i 1) 1)
((= n 1) 0)
(else (+ (pas (- n 1) (- i 1))
(pas (- n 1) i)))))
(pas n i)
表示第n行第i個數的值(n、i均從1開始)。