[Tutor] factorial

Greg Chapman greg@gregmchapman.info
Sun May 11 22:19:01 2003


>>Maybe I got the syntax wrong on Danny's approximation version, but the way
I
>>did it it's way off.
>>
>>Can anyone tell me if I got the syntax wrong or if the function actually
>>doesn't work well?
>
>>def apFactorial(n):                #this should be equivalent to Danny's
>>     return ((math.sqrt(2 * math.pi)) * (n**(n+1/2)) * (math.exp(-n)))
>
>I played with this a little.  Your syntax looks okay to me except you
>are doing an integer division in this term: (n**(n+1/2))  This is not
>what you want. Change this term to (n**(n+1/2.0)) or even
>(n**(n+0.5)) and you will get better results.
>
>My results were:
>Approximate function:	 3598695
>Recursive function:	 3628800
>Iterative function:	 3628800


hmmm, that does seem to work better.  Thanks TJ.

greg