【SICP练习】69 练习2.40

简介:


练习2.40

这道题要我们写一个传入一个整数n然后返回一个序对(i, j)的过程unique-pairs,然后用于上一页的prime-sum-pairs的定义。此时我们要注意在prime-sum-pairs中哪一段代码表达的是这个意思。没错,是flatmap函数。因此我们将其写入到unique-pairs中。

(define (unique-pairs n)

   (flatmap (lambda (i)

                 (map (lambda (j) (list i j))

                       (enumerate-interval 1 (-i 1))))

             (enumerate-interval 1 n)))

因此直接将其应用到prime-sum-pairs中即可。

(define (prime-sum-pairs n)

   (map make-pair-sum

          (filter prime-sum? (unique-pairsn))))

目录
相关文章