i am trying to solve euler problem 125. when i tested this code: (ns euler.Problem125)
(defn is-palindrome [n] (let [s (str n)] (= (seq s) (reverse s)))) (defn to-check [] (filter is-palindrome (range 1 1000))) (defn square-root [n] (Math/sqrt n)) (defn squared [n] (* n n)) (defn try-find-sequence [n] (loop [start-at (int (square-root n))] (let [combinator (fn [[sum smallest] element] [(+ sum element) (dec element)]) reduced (reduce combinator [0 start-at] (range start-at 0 -1)) pred (fn [[sum smallest]] (> sum n)) until-match-or-overflow (take-while pred reduced) solution-or-not (last until-match-or-overflow)] (cond (= (first solution-or-not) n) nil (= (first solution-or-not) n) (second solution-or-not) :else (recur (dec start-at)))))) (println (try-find-sequence 595)) i get: Exception in thread "main" java.lang.UnsupportedOperationException: nth not supported on this type: Long at clojure.lang.RT.nthFrom(RT.java:846) at clojure.lang.RT.nth(RT.java:796) at euler.Problem125$try_find_sequence$pred__16.invoke(Problem125.clj:20) at clojure.core$take_while$fn__4116.invoke(core.clj:2512) but why? i don't call nth on anything! -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en