SICP 1.12

时间:2014-07-20 23:28:48   收藏:0   阅读:526

解:

(define (pascal n)
  (define (get n i)
    (cond ((<= i 1) 1)
          ((>= i n) 1)
          (else (+ (get (- n 1) (- i 1))
                   (get (- n 1) i)))))
  (define (iter i n)
    (if (<= i n)
        (and (print (get n i))
             (print " ")
             (iter (+ i 1) n))
        #f))
  (define (recurse n)
    (if (> n 0)
        (recurse (- n 1))
        #f)
    (iter 1 n)
    (newline))
  (recurse n))


需要注意递归过程和递归计算过程概念上的区别。

SICP 1.12,布布扣,bubuko.com

原文:http://my.oschina.net/u/1445655/blog/293125

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!