Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (fn [x] (let [digits (fn digits
- [x] (->> x
- str
- vec
- (map #(str %))
- (map #(Integer/parseInt %))))
- squares (fn squares [x] (map #(* % %) (digits x)))
- sum-of-squares (fn sum-of-squares [x] (reduce + (squares x)))
- initial-value x]
- (loop [new-sum (sum-of-squares x)
- old-numbers #{x}]
- (cond
- (= 1 new-sum) true
- (old-numbers new-sum) false
- :else (recur (sum-of-squares new-sum) (conj old-numbers new-sum))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement