Iteration for Factorials
Paul Rudin
paul.nospam at rudin.co.uk
Mon Oct 22 14:35:56 EDT 2007
"mensanator at aol.com" <mensanator at aol.com> writes:
> On Oct 22, 7:50 am, Duncan Booth <duncan.bo... at invalid.invalid> wrote:
>> Py-Fun <lorna.bu... at gmail.com> wrote:
>> > I'm stuck trying to write a function that generates a factorial of a
>> > number using iteration and not recursion. Any simple ideas would be
>> > appreciated.
>>
>> This version avoids doing anything fancier than adding 1, so it should be
>> simple enough for anyone:
>>
>> def factorial(e):
>> a = 1
>> for b in range(e):
>> c = 0
>> for j in range(b, -1, -1):
>> for d in range(a):
>> c += 1
>> a = c
>> return a
>
> Not simple enough for my taste:
>
>>>> import gmpy
>>>> gmpy.fac(10)
> mpz(3628800)
I haven't followed all this thread, but has anyone yet done:
import operator
def fact(x):
return reduce(operator.mul, xrange(1,x))
More information about the Python-list
mailing list