[Tutor] How to calculate pi with another formula?
barry at angleinc.com
Fri Oct 29 21:37:16 CEST 2004
As a newby I didn't know about such improvements, so I did what you
suggested and added decimal.py to my lib directory in 2.3 and it worked.
Below is the code for the iterative answer ( different from the
recursive one that Bill Mill gave ) that I suggested to Dick, originally
as a text hint, but now using the decimal module:
decimal.getcontext().prec = 40 # ARBITRARY UPPER LIMIT TO PRECISION
# ITERATIVE METHOD, USING THE NUMERATOR AS A COMPARISON
numer = decimal.Decimal(100) # ARBITRARY UPPER LIMIT TO NUMERATOR
subtotal = decimal.Decimal(1) # INITIALIZE
Last_Numerator = decimal.Decimal(1) # COUNTING DOWN WE'LL STOP AT 1
Subtraction_Amount = decimal.Decimal(1) # COUNTING DOWN BY 1s
Pi_Correction = decimal.Decimal(2) # SINCE THE PRIOR CALC GIVES PI/2
while numer >= Last_Numerator:
denom = 2 * numer + 1 #THE FORMULA DERIVING EACH DENOM FROM EACH NUMER
subtotal = 1 + numer / denom * subtotal
numer -= Subtraction_Amount # WORKING FROM INSIDE-OUT
print Pi_Correction * subtotal
Gregor Lingl wrote:
> Hi Dick!
> Accidentally I just was tinkering around with the new
> decimal module of Python2.4. (By the way: it also works
> with Python 2.3 - just copy it into /Python23/Lib)
> Dick Moores schrieb:
>> Is it possible to calculate almost-pi/2 using the (24) formula on
>> <http://mathworld.wolfram.com/PiFormulas.html> without using (23)?
>> Dick Moores
>> rdm at rcblue.com
More information about the Tutor