解:
(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))
需要注意递归过程和递归计算过程概念上的区别。
原文:http://my.oschina.net/u/1445655/blog/293125