(defn pow [x n] (reduce * (repeat n x))) (pow 55 2) ; 3025 (defn square [x] (pow x 2)) (square 55) ; 3025 (def sum (comp (partial reduce +) map)) (sum identity (range 0 11)) ; 55 (sum square (range 0 11)) ; 385 (defn sum-square-difference [n] (let [nums (range 0 (+ 1 n))] (- (square (sum identity nums)) (sum square nums)))) (sum-square-difference 10) ; 2640 (sum-square-difference 100) ; 25164150