-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0006.clj
More file actions
executable file
·29 lines (22 loc) · 822 Bytes
/
0006.clj
File metadata and controls
executable file
·29 lines (22 loc) · 822 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(defn sum-of-squares [lst]
(apply #'* (map (fn [x] (* x x)) lst)))
(defn square-of-sum [lst]
(let [sum (apply #'* lst)]
(* sum sum)))
(defn problem-six []
(let [lst (take 100 (iterate (fn [x] (inc x)) 1))]
(- (square-of-sum lst) (sum-of-squares lst))))
(defn problem-six []
(let [lst (take 100 (iterate (fn [x] (inc x)) 1))]
(loop [l lst sum-of-squares 0 sum 0]
(if (= (count l) 0)
(- (* sum sum) sum-of-squares)
(recur (rest l) (+ sum-of-squares (* (first l) (first l))) (+ sum (first l)))))))
(defn problem-six []
(let [[sos sum] (reduce #(map + %1 %2)
(map #(vector (* % %) %) (range 1 101)))]
(- (* sum sum) sos)))
(defn problem-six []
(- (let [sum (reduce + (range 1 101))] (* sum sum))
(reduce #(+ %1 (* %2 %2)) (range 1 101))))
(def solutions (list problem-six))