Start | raknautpi
 

Räkna ut PI



Räkna ut pi med python

Det finns många olika algoritmer för att räkna ut pi. Typiskt är det någon slags summaformel vi behöver skapa kod för. Termerna följer ofta ett mönster och vi kan därför producera dessa termer och summera dem.

Leibniz formel



Leibniz formel ser ut såhär. Ju fler termer vi summerar, desto mer exakt resultat.

Nämnaren är 1 (tänk att siffran 1 är samma sak som 1/1) från början och ser ut att öka med 2 för varje term (1, 3, 5, 7, ...). Vidare pendlar termens tecken mellan plus och minus varannan gång, inledningsvis är tecknet plus för första termen. Så, vi kan sedan ackumulera alla termer i en variabel och vi kör ett antal iterationer, dvs så många termer vi tror behövs för att få en viss noggrannhet. Det sista vi gör är att multiplicera summan med 4.
iter = 5000 pi = 0 n = 1 t = 1 for i in range(iter): pi += (1/n)*t n += 2 t = -t pi *=4 print(pi)

John Wallis produkt



iter = 50000 t = 2 n = 1 pi = 2 for i in range(iter): if(i%2): t+=2 if(not i%2): n+=2 pi*=t/n pi *=2 print(pi)
def pos(d): return(neg(d-2) + 1/d) def neg(d): if d>0: return(pos(d-2) - 1/d) else: return(0) def pi(n): return(4 * pos(4*n+1)) print(pi(50))
15.727996826172 ms