Re: math - need divisors algorithm



Ed Suominen wrote:
Philp Smith wrote:


Hi

Does anyone have suggested code for a compact, efficient, elegant, most of
all pythonic routine to produce a list of all the proper divisors of an
integer (given a list of prime factors/powers)


Is this compact enough? :-)

def properDivisors(N):
    return [x for x in range(1,N-2) if not divmod(N,x)[1]]

---
Ed Suominen
Registered Patent Agent
Open-Source Software Author (yes, both...)
Web Site: http://www.eepatents.com

I tried this out, (Python 2.3) and ran into the situation where neither xrange or range won't accept anything other than an int. (To quote the "bards", "53487861112345 is RIGHT out.") I was wondering how others would deal with this situation?


Joal
.



Relevant Pages

  • math - need divisors algorithm
    ... Does anyone have suggested code for a compact, efficient, elegant, most of ... all pythonic routine to produce a list of all the proper divisors of an ...
    (comp.lang.python)
  • Re: math - need divisors algorithm
    ... Does anyone have suggested code for a compact, efficient, elegant, most of all pythonic routine to produce a list of all the proper divisors of an ...
    (comp.lang.python)
  • Re: math - need divisors algorithm
    ... > Does anyone have suggested code for a compact, efficient, elegant, most of ... > all pythonic routine to produce a list of all the proper divisors of an ... Is this compact enough? ...
    (comp.lang.python)
  • Multiplied Combinations of numbers less than N.
    ... are there any similar compact equations for more ... Off in the sense that it's overlooking some deeper patterns, ... there any more elegant or more compact ways of calculating the ...
    (sci.math)
  • Re: How to initialize a variable as a array structure / structure (type) array (see example)
    ... I tried the VB.Net approach in VB6, but I got a complaint on the "new", plus I already know that VB6 does not like braces, so it seems that there is no nice compact and elegant way to populate UDT in VB6. ... Dim MyVariable() As MYTYPE ...
    (microsoft.public.vb.general.discussion)