![]() |
Fibonacci-Zahlen
hi
hier ein function die einem die Index'te Fibonacci-Zahl liefert.
Delphi-Quellcode:
Edit: ich hatte ne alte Version genommen :wall:
function Fibonacci1(Index: Integer):Int64;
var i:Integer; Last, New: Int64; begin Result:=1; Last:=0; New:=1; for i:=2 to Index do begin Last:=Result; Result:=New; New:=Result + Last; end; end; wieso merk ich das jetzt erst???? :wall: |
Re: Fibonacci-Zahlen
Warum so kompliziert? :gruebel:
Delphi-Quellcode:
PS: Rekursion is was Feines! :mrgreen:
function fibonacci(Index : Integer) : Int64;
Begin Case Index of 1, 2 : Result := 1; Else Result := fibonacci(Index-2) + fibonacci(Index-1); End; End; //Edit: Integer in Int64 geändert. :oops: |
Re: Fibonacci-Zahlen
joa, haste recht.
ich find rekursiv immer bisschen schwerer nachzuvollziehen, und was schneller ist müsste man mal ausführlich testen. aber tu deins mal auf Int64 umstellen ;) |
Re: Fibonacci-Zahlen
Zitat:
Zitat:
|
Re: Fibonacci-Zahlen
Mal eine Notiz am Rande:
Erste Version mit for-Schleife: + Weniger Speicherverbrauch + schneller - Nicht ganz so intuitiv Zweite Version mit rekursion: + Ist intuitiv, leichter Verständlich - Verbraucht mehr Speicher (Stack für Prozedur aufrufe) - durch die Rekursion bedingter 'overhead' für Prozeduraufrufe und Rücksprung und dadurch etwas langsamer Ich würde die erste Version bevorzugen, da sie etwas schneller ist. rantanplan |
Re: Fibonacci-Zahlen
nichts gegen leddl, aber:
*g* auch wenn ich die argumente nur teilweise nachvollziehen kann... |
Re: Fibonacci-Zahlen
@leddl: Die Umstellung auf int64 bringt dir relativ wenig, nachdem durch den rekusiven aufruf Zeit eher knapp ist als die größe des 32-Bit-Integers ;)
wenn mich nicht alles täuscht, gibts hier in der DP aber auch schon nen Fibonacci-code über asm! (Ich glaub von Illuminator war der....) |
Re: Fibonacci-Zahlen
Ach le**t mich doch alle! :mrgreen: :zwinker:
Ich kenn mich mit den ganzen Gschichten auch nich so aus. Is nur so, daß ich Rekursionen um einiges verständlicher und übersichtlicher finde. (Und ich hab halt nunmal gerne Code, den ich auch nach längerer Zeit schnell wieder verstehe) Und außerdem bekommt man in der Uni ständig beigebracht, möglichst viel rekursiv zu programmieren... :gruebel: Aber wurscht, ich beuge mich der Mehrheit! Werde aber dennoch weiterhin meine hübschen Rekursionen verwenden. :mrgreen: |
Re: Fibonacci-Zahlen
Zitat:
Nachdem die Fibonacci-Funktion ein paar mehr hat (ws exponentiell), isses da nicht unbedingt rentabel ;) |
Re: Fibonacci-Zahlen
Nur mal so, aber was sind Fibonacci-Zahlen? :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz