Python :: Aufgabe #28

2 Lösungen Lösungen öffentlich

Laufzeit-Berechnung von PI mittels BBP-Reihe

Anfänger - Python von Sone - 05.01.2013 um 00:10 Uhr
Berechnen Sie PI mit der Bailey-Borwein-Plouffe-Formel (BBP-Reihe).

Extrahieren Sie dazu aus der Standardeingabe die Größe der Summenformel (im Wikipedia-Artikel: Das k) und berechnen Sie dann PI mit der Genauigkeit eines long double (und speichern Sie es selbstverständlich auch in einem).

Anschließend geben Sie die von ihnen berechnete Annäherung und die prozentuale Abweichung vom "echten", vor-berechneten PI an.

Lösungen:

vote_ok
von jigga (4260 Punkte) - 08.06.2015 um 09:35 Uhr
Quellcode ausblenden Python-Code
import math

bbp = 0

grenze = int(input("Grenze eingeben (keiner gleich 256): "))

for k in range(0,grenze):
	bbp += (4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6))/(16**k)

print("Pi mit BBP: ", bbp)
print("Internes Pi:", math.pi)
print("Abweichung:  " + str(100*abs(1-(bbp/math.pi))) + "%")
vote_ok
von PythonIT (240 Punkte) - 19.08.2017 um 21:40 Uhr
Quellcode ausblenden Python-Code
# pi.py
import math

durchlaeufe = int(input("Wieviele Durchläufe soll es geben? "))
pi = 0

for k in range(0, durchlaeufe):
    pi += (1 / 16 ** k) * ((4 / (8 * k + 1)) - (2 / (8 * k + 4)) - (1 / (8 * k + 5)) - (1 / (8 * k +6)))

print(pi)
print(math.pi)
print((math.pi-pi)/math.pi)