sicp 习题

Posted wilderness

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sicp 习题相关的知识,希望对你有一定的参考价值。

1.11

求f(n)=f(n-1)+2*f(n-2)+3*f(n-3)

1 #lang racket
2 (define (fff n)
3   (define (fff-iter a b c n)
4     (if (= n 0)
5         a
6         (fff-iter b c (+ (* 3 a)(* 2 b) c) (- n 1))))
7   (fff-iter 0 1 2 n))

 递归版本

#lang racket
(define (fff n)
  (if (< n 3)
      n
      (+ (fff (- n 1))
         (* 2 (fff (- n 2)))
         (* 3 (fff (- n 3))))))

 1.12 帕斯卡三角

#lang racket
(define (pascal row col)
  (cond ((< row col) (error "error"))
        ((or (= col 0) (= col row)) 1)
        (else (+ (pascal (- row 1)  col)
                 (pascal (- row 1) (- col 1))))))

 

以上是关于sicp 习题的主要内容,如果未能解决你的问题,请参考以下文章

SICP 习题 (1.41)解题总结

sicp 习题

SICP_2.12-2.16(部分习题)

SICP 习题 (2.11)解题总结:区间乘法的优化

计算机程序的构造和解,计算机程序的构造与解释(SICP)习题02

计算机程序的构造和解,计算机程序的构造与解释(SICP)习题02