Project Euler Problem 6 Solution: Clojure
Posted in Programming on April 19th, 2010 by Jamie – 3 CommentsProblem description, from Project Euler
Find the difference between the sum of the squares of the first N natural numbers and the square of the sum.
Solution
This one actually seemed to be easier than the others. No filters required!
(defn problem06
[upper]
(defn sq [n] (* n n))
(def l (range 1 (+ upper 1)))
(-
(sq (reduce + l))
(reduce + (map sq l))
)
)
The biggest hangup I had was that when I originally read the problem, I thought I’d need a power function, and then spent at least 15 minutes determining there was no Clojure core power function. I found some alternatives here:
; for integers (cuz it's faster)
(. (. java.math.BigInteger (valueOf 2)) (pow 5))
; for doubles
(. java.lang.Math (pow 2 -3))





