I'm sure that code would be useful if he were looking for a slow
implementation of a slow algorithm. I believe he asked for an
optimized algorithm. An example might be Lenstra's elliptic curve
factorization or the general number field sieve. I don't know of any
implementations in Clojure but there seem to be a few floating around
in Java.

-Per


On Wed, Mar 24, 2010 at 3:35 AM, kotor <[email protected]> wrote:
> On Mar 23, 1:02 pm, Glen Rubin <[email protected]> wrote:
>> Does anyone know of any existing libraries for clojure that has code
>> which is optimized to list all of the factors of any given integer?
>
> (defn factors [x]
> "integer -> vector[integers]"
>  (loop [xf [] i 2]
>    (if (> (* i i) x)
>      (vec (sort (distinct xf)))
>      (if (zero? (rem x i))
>        (recur (conj xf i (/ x i)) (inc i))
>        (recur xf (inc i))))))
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>
> To unsubscribe from this group, send email to 
> clojure+unsubscribegooglegroups.com or reply to this email with the words 
> "REMOVE ME" as the subject.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

To unsubscribe from this group, send email to 
clojure+unsubscribegooglegroups.com or reply to this email with the words 
"REMOVE ME" as the subject.

Reply via email to