Difference between revisions of "Fibonacci number/de"
From Lazarus wiki
Jump to navigationJump to search (deutsche Übersetzung) |
m (→Fibonacci-Zahlen: Komma gesetzt) |
||
Line 7: | Line 7: | ||
0, 1, 1, 2, 3, 5, 8, 13, 21, ... | 0, 1, 1, 2, 3, 5, 8, 13, 21, ... | ||
− | Die Idee dahinter ist die zwei vorhergehenden Zahlen zu addieren um die nächste zu erhalten. <br/>Sie benannt nach [https://de.wikipedia.org/wiki/Leonardo_Fibonacci Leonardo Fibonacci] einem Rechengelehrten (heute würde man sagen Mathematiker) aus Pisa. Bekannt war die Folge lt. Wikipedia aber schon in der Antike bei den [[Antikes Griechenland|Griechen]] und [[Indien|Indern]][https://de.wikipedia.org/wiki/Fibonacci-Folge]. | + | Die Idee dahinter ist, die zwei vorhergehenden Zahlen zu addieren um die nächste zu erhalten. <br/>Sie benannt nach [https://de.wikipedia.org/wiki/Leonardo_Fibonacci Leonardo Fibonacci] einem Rechengelehrten (heute würde man sagen Mathematiker) aus Pisa. Bekannt war die Folge lt. Wikipedia aber schon in der Antike bei den [[Antikes Griechenland|Griechen]] und [[Indien|Indern]][https://de.wikipedia.org/wiki/Fibonacci-Folge]. |
== rekursive Art == | == rekursive Art == |
Revision as of 13:50, 12 May 2017
Fibonacci-Zahlen
Die Fibonacci-Zahlen-Folge ist eine Reihe von Zahlen:
0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Die Idee dahinter ist, die zwei vorhergehenden Zahlen zu addieren um die nächste zu erhalten.
Sie benannt nach Leonardo Fibonacci einem Rechengelehrten (heute würde man sagen Mathematiker) aus Pisa. Bekannt war die Folge lt. Wikipedia aber schon in der Antike bei den Griechen und Indern[1].
rekursive Art
function FibonacciNumber( n : integer ): integer;
begin
if n > 1 then
result := ( FibonacciNumber( n - 1 ) + FibonacciNumber( n - 2 ) )
else if n = 0 then
result := 0
else
result := 1;
end;
iterative Art
Diese ist vorzuziehen.
function Fibonacci(n: Integer): Integer;
var
i, u, v, w: Integer;
Begin
if n <= 0 then
Result := 0
else if n = 1 then
Result := 1
else
begin
u := 0;
v := 1;
for i := 2 to n do
begin
w := u + v;
u := v;
v := w;
end;
Result := v;
end;
End;