From: Jaap Spies Subject: Re: How to calculate Pi? Date: Sun, 15 Oct 2000 01:54:53 +0200 Newsgroups: sci.math.symbolic Summary: [missing] lcamargo@nutecnet.com.br wrote: > > I would like to know how to calculate, how to compute > the pi number with n decimal digits, say 1000 places. > > I intent to follow Machin formula. > > pi = 16 arctan (1/5) - 4 arctan (1/239) > where arctan (x) = x - x^3/3 + x^5/5 - x^7/7 + ... > > The common known algorithm is: > > a = 16 / 5 > b = 4 / 239 > pi = a - b > sign = -1 > FOR n = 3 TO ... STEP 2 > a = a / 25 > b = b / 57121 > pi = pi + sign * (a - b) / n > sign = -sign > NEXT n > > We know the computer does not support this amount of > numbers, and this is exactly the question: how to make > the concatenation of the decimal digits. I would like > to know an easy method, step-by-step, for beginner > user (not for advanced user). Preferentially with a > simple text. > > Can anyone here help me? > > Thanks. > Luiz > > Sent via Deja.com http://www.deja.com/ > Before you buy. Try this small Python Program # After Petrarca, Shakespeare, Milton, Drs. P and many, many others, # a sonnet has 14 lines and a certain rhyme scheme. # Jacques Bens presented in 1965 in Paris the pi-sonnet with # 3,1,4,1 and 5 lines, but the ultimate pi-poem I found in # Brown's Python Annotated Archives p. 12: # Based on a algorithm of Lambert Meertens (remember those days of the # B -> ABC-programming language!!!) import sys def main(): k, a, b, a1, b1 = 2L, 4L, 1L, 12L, 4L while 1: p, q, k = k*k, 2L*k+1L, k+1L a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1 d, d1 = a/b, a1/b1 while d == d1: output(d) a, a1 = 10L*(a%b), 10L*(a1%b1) d, d1 = a/b, a1/b1 def output(d): sys.stdout.write(`int(d)`) sys.stdout.flush() main() # Reading/writing Python source often gives me the impression of # reading/writing a poem! # Layout, indentation, rythm, I like the look and feel! # What does this tiny program do? It is not a sonnet, even not a # pi-sonnet, but it surely produces Pi! # The poem ( sorry, the program) needs some explanation. # As a mathematician I recognize the continued fraction, odd/even, # squares and all that matters. # But it is a miracle! A few lines of Python code producing # a infinity of pi-digits! # Jaap Spies # Keep Peace in Mind # What is Python? # See http://www.python.org