15 lines
393 B
Clojure
15 lines
393 B
Clojure
|
(defn prime-factors [n]
|
||
|
(loop [nums (cons 2 (iterate #(+ 2 %) 3))
|
||
|
factors []
|
||
|
v n]
|
||
|
(let [f (first nums)]
|
||
|
(cond
|
||
|
(= v 1) factors
|
||
|
(= 0 (mod v f)) (recur nums (conj factors f) (quot v f))
|
||
|
:else (recur (rest nums) factors v)))))
|
||
|
;(loop [i 1]
|
||
|
; (when (< i 100)
|
||
|
; (println i (prime-factors i))
|
||
|
; (recur (inc i))))
|
||
|
(println 123 (prime-factors 123))
|