Python :: Aufgabe #120
1 Lösung
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
Wikipedie, Leibnitz-Reihe
Lösungen:
Hallo, hier meine Lösung:
rekursiv:
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:
LG Peter
rekursiv:
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:
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