Saturday, June 27, 2009

One of solutions of Exercise-2.40

Just found one solution of Ex2.40. Not so concise.

刚发现练习2.40的一个解决方案。并不是那么简洁明了。
有时间的话找更好的解法

宿題Ex2.40の一つ回答ができましたが、簡潔さが足りなくて、
満足できないレベルだと思います。


(define (unique-pairs n)
     (if (= n 1)
                     (list (list 1 1))
             (append
                 (append (list (list n n))
                 (accumulate append '()
                                     (map (lambda (seqs)
                                     (if (= (car seqs) (cadr seqs))
                         (map (lambda (x)
                         (list n x))
                                             (list (car seqs)))
                     '()))
                             (unique-pairs (- n 1)))))
                 (unique-pairs (- n 1)))))

No comments:

Post a Comment