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.
