SICP-2.41 solution
(define (triple-sum n s)
(filter
(lambda (tri)
(if (= s
(+ (car tri)
(cadr tri)
(caddr tri)))
#t
#f))
(flatmap (lambda (i)
(flatmap (lambda (j)
(map (lambda (k)
(list i j k))
(enumerate-interval 1 n)))
(enumerate-interval 1 n)))
(enumerate-interval 1 n))))
(filter
(lambda (tri)
(if (= s
(+ (car tri)
(cadr tri)
(caddr tri)))
#t
#f))
(flatmap (lambda (i)
(flatmap (lambda (j)
(map (lambda (k)
(list i j k))
(enumerate-interval 1 n)))
(enumerate-interval 1 n)))
(enumerate-interval 1 n))))
0 条评论: