12 lines
361 B
Clojure
12 lines
361 B
Clojure
(defn dig-root [value]
|
|
(let [digits (fn [n]
|
|
(map #(- (byte %) (byte \0))
|
|
(str n)))
|
|
sum (fn [nums]
|
|
(reduce + nums))]
|
|
(loop [n value
|
|
step 0]
|
|
(if (< n 10)
|
|
{:n value :add-persist step :digital-root n}
|
|
(recur (sum (digits n))
|
|
(inc step))))))
|