我编写了一个函数,该函数使用自然数size
并生成一个列表,该列表由size
个内部列表组成,每个内部列表代表帕斯卡三角形的一行。问题是,现在我被要求不使用cond
而使用range
和/或build-list
再次写它。谁能告诉我如何做到这一点?
(define (pascals-triangle size)
(local
[(define (next-row row)
(map + (cons 0 row) (append row (list 0))))
(define (triangle row rows)
(cond
[(= row 0) empty]
[else (cons (triangle (next-row row) (- rows 1)))]))]
(triangle (list 1) size)))