Python :: Aufgabe #120

1 Lösung Lösung öffentlich

Leibnitz-Reihe rekursiv, endrekursiv und iterativ für die Annäherung von Pi

Anfänger - Python von ah3n0bar6us - 16.07.2016 um 19:40 Uhr
Schreibe drei Programme zur Annäherung an die Zahl Pi mit Hilfe der Leibnitz Formel rekursiv, endrekursiv und iterativ für die Eingabe einer positiven natürlichen Zahl.

Wikipedie, Leibnitz-Reihe

Lösungen:

vote_ok
von Peter... (160 Punkte) - 23.08.2016 um 12:01 Uhr
Hallo, hier meine Lösung:

rekursiv:
Quellcode ausblenden Python-Code
'''Errechnet die Annäherung an die Kreiszahl Pi rekursiv'''
def Leibnizreihe(Anzahl, k=0, prev=0):
	prev += ((-1)**k)/(2*k+1)
	if k >= Anzahl-1:
		return 4*prev
	return Leibnizreihe(Anzahl, k+1, prev) 

print(Leibnizreihe(Anzahl = int(input('Bitte geben Sie an, wie viele Brüche berechnet werden sollen:\n'))))


endrekursiv:
Ich als Anfänger habe da nicht viel Ahnung, aber anscheinend unterstüzt Python keine wirkliche Endrekursion. Nur über eine größeren Umweg mit Dekoratoren wäre das möglich. Hier der Link:
stackoverflow
Bitte korregiere mich, wenn ich falsch liege.

iterativ über Tupel Unpacking:
Quellcode ausblenden Python-Code
'''Errechnet die Annäherung an die Kreiszahl Pi iterativ''
def Leibnizreihe2(Anzahl):
	k, prev = 0, 0
	while k < Anzahl:
		prev, k = prev+((-1)**k)/(2*k+1), k +1	
	return 4*prev
	
print(Leibnizreihe2(int(input('Bitte geben Sie an, wie viele Brüche berechnet werden sollen:\n'))))


LG Peter
1800977

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.