Thanks for everyone who commented on my solution for Euler 28 yesterday.
Euler 40 is a bit easier, even more so I'm disappointed with the performance of
my solution:(defn euler-40 [n-max]
(reduce #(* (Integer/valueOf (str %1)) (Integer/valueOf (str %2)))
(let [r (range (inc n-max))]
(for [n (iterate #(* % 10) 1) :while (< n n-max)] (nth (apply
str r) n)))))
It takes about 4s to find the solution.
First of all, I guess the whole Integer/valueOf ceremony doesn't affect
performance but could probably be dealt with in a more idiomatic way.
Other than that, how could I optimise the presented solution. Hints to other
solutions (as long as they're pretty ;)) are also welcome :)
Thanks again
Andreas
--
"Programs must be written for people to read, and only incidentally for
machines to execute."
- Abelson & Sussman, SICP
--
**********************************************************
Andreas Koestler, Software Engineer
Leica Geosystems Pty Ltd
270 Gladstone Road, Dutton Park QLD 4102
Main: +61 7 3891 9772 Direct: +61 7 3117 8808
Fax: +61 7 3891 9336
Email: [email protected]
************www.leica-geosystems.com*************
when it has to be right, Leica Geosystems
Please consider the environment before printing this email.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en