14 lines
592 B
Plaintext
14 lines
592 B
Plaintext
(defn numbers [s] (filter (fn [y] (and (<= y 9) (>= y 0))) (map (fn [z] (- z 48)) (string/bytes s))))
|
|
(defn summa [s] (reduce (fn [x y] (+ x y)) 0 (numbers s)))
|
|
(defn minsumma [x p]
|
|
(if (<= x 9)
|
|
[x p]
|
|
(minsumma (summa (string/format "%d" x)) (+ 1 p))))
|
|
(defn test [t] (printf "%j" (minsumma (summa t) 1)))
|
|
(test "627615")
|
|
(test "39390")
|
|
(test "588225")
|
|
(test "393900588225")
|
|
(test "19999999999999999999999999999999999999999999999999999999999999999999999999999999999999")
|
|
(test "192348-0347203478-20483298402-39482-04720348-20394823-058720375204820-394823842-049802-93482-034892-3")
|