2010-06-26から1日間の記事一覧

depth-first-search

深さ優先探索で、橋渡し問題を解く。 ; 各stateは'n か's(対岸)のどちらか) (defstruct state :farmer :wolf :goat :cabbage) (defn opposite [x] (if (= x 'n) 's 'n)) (defn expand [st] (let [f (:farmer st) w (:wolf st) g (:goat st) c (:cabbage st)]…

数式微分

何度見ても美しいと思うSchemeの課題をClojureで。 (defn third [x] (first (next (next x)))) (defn constant? [exp] (cond (contains? #{'+ '- '* '/ '**} exp) false (coll? exp) false :else true)) (defn diff [e x] (cond (constant? e) (if (= e x) 1…