2010-10-13

問題1.12

(5am:test exercise-1.12
  (5am:is (= 1 (pascals-triangle 1 1)))
  (5am:is (= 6 (pascals-triangle 3 5)))
  (5am:is (= (+ (pascals-triangle 4 9)
                (pascals-triangle 5 9))
             (pascals-triangle 5 10)))
  (5am:is-false (pascals-triangle 3 2))) ; invalid coord

(defun pascals-triangle (x y)
  (cond ((> x y) nil)
        ((or (= x 1) (= x y)) 1)
        (t (+ (pascals-triangle (1- x) (1- y))
              (pascals-triangle x (1- y))))))

1 件のコメント:

  1. 思っていたより遥かに楽に書けた。先入観を持つのは良くない。

    返信削除