Blob
1 (defun unique-triples (n)2 "Unique triples of numbers <= n"3 (flatmap4 (lambda (i)5 (flatmap6 (lambda (j)7 (mapcar8 (lambda (k) (list i j k))9 (enumerate-interval 1 (1- j))))10 (enumerate-interval 1 (1- i))))11 (enumerate-interval 1 n)))13 (defune triples-sum-s (s n)14 "Triples of numbers <= n summing to s"15 (filter16 (lambda (triple)17 (= (sum triple) s))18 (unique-triples n)))