SCIP Exercise 1.11.

Exercise 1.11.  A function f is defined by the rule that f(n) = n if n<3 and f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3) if n> 3. Write a procedure that computes f by means of a recursive process. Write a procedure that computes f by means of an iterative process.


recursive process:

(define (fn x)
        (if (< x 3)
            x
            (+ (fn (- x 1))
               (* 2 (fn (- x 2)))
               (* 3 (fn (- x 3))))))


iterative process:

(define (fn-iter f1 f2 f3 count)
        (cond ((= count 0) f3)
              ((= count 1) f2)
              ((= count 2) f1)
              (else (fn-iter (+ f1
                                (* 2 f2)
                                (* 3 f3))
                             f1
                             f2
                             (- count 1)))))

(define (fn2 n)
        (if (< n 3)
            n
            (fn-iter 2 1 0 n)))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值