Re: Divisors
- To: mathgroup at smc.vnet.net
- Subject: [mg24278] Re: Divisors
- From: Julian Aguirre Estibalez <mtpagesj at lg.ehu.es>
- Date: Fri, 7 Jul 2000 00:11:22 -0400 (EDT)
- Organization: Universidad del Pais Vasco/Euskal Herriko Unibertsitatea
- References: <8k0v1u$q7s@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 5 Jul 2000, Hans Havermann wrote: > I need a re-formulated "divisors" function that works, *not* on > Integers, but on the *list of factors* that one gets when one applies > FactorInteger to a number. That way I can still get the divisors of a > number whose factorization is difficult, but nonetheless known. I ran into the same time of problen a while a go. A solution provided by Hartmut Wolf was n=AnyInteger; fac=FactorInteger[n]; divisors=Fold[Flatten[{#1, Outer[Times, #1, #2]}] &, {1}, (First/@fac)^Range[Last/@fac]] This gives the unsorted list of divisors of n. If you want them ordered, just apply a Sort[]. This is MUCH faster than the Divisors[] function for integers with lots of divisors. Julian Aguirre | Voice: +34 946012659 Departamento de Matematicas | Fax: +34 944648500 Universidad del Pais Vasco | Postal: Aptdo. 644, 48080 Bilbao, Spain | email: mtpagesj at lg.ehu.es