Difference between revisions of "Fibonacci number/de"

From Lazarus wiki
Jump to navigationJump to search
m (→‎Fibonacci-Zahlen: Komma gesetzt)
m (Fixed syntax highlighting; removed unused display title; deleted category already in page template)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Fibonacci-Zahlen}}
+
{{Fibonacci_number|Fibonacci-Zahlen}}
 
 
= Fibonacci-Zahlen =
 
  
 
Die Fibonacci-Zahlen-Folge ist eine Reihe von Zahlen:
 
Die Fibonacci-Zahlen-Folge ist eine Reihe von Zahlen:
Line 7: Line 5:
 
  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.
 +
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 Griechen und Indern.   
  
 
== rekursive Art ==
 
== rekursive Art ==
  
<syntaxhighlight>
+
<syntaxhighlight lang="pascal">
  
 
function FibonacciNumber( n : integer ): integer;
 
function FibonacciNumber( n : integer ): integer;
Line 22: Line 22:
 
     result := 1;
 
     result := 1;
 
end;  
 
end;  
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== iterative Art ==
 
== iterative Art ==
 +
 
Diese ist vorzuziehen.
 
Diese ist vorzuziehen.
  
<syntaxhighlight>
+
<syntaxhighlight lang="pascal">
 
 
 
function Fibonacci(n: Integer): Integer;
 
function Fibonacci(n: Integer): Integer;
 
var
 
var
Line 51: Line 50:
 
   end;
 
   end;
 
End;  
 
End;  
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Siehe auch ==
+
== Siehe auch ... ==
 
   
 
   
 
* [http://www.freepascal.org/docs-html/prog/progsu151.html  Some assembly routine which uses the C calling convention that calculates the nth Fibonacci number]  
 
* [http://www.freepascal.org/docs-html/prog/progsu151.html  Some assembly routine which uses the C calling convention that calculates the nth Fibonacci number]  
 
* [[Solution_3| Tao Yue Solution to Fibonacci Sequence Problem]]  
 
* [[Solution_3| Tao Yue Solution to Fibonacci Sequence Problem]]  
 
* [https://de.wikipedia.org/wiki/Fibonacci-Folge Wikipedia: Fibonacci-Folge]
 
* [https://de.wikipedia.org/wiki/Fibonacci-Folge Wikipedia: Fibonacci-Folge]
 
[[Category:Mathematics]]
 

Latest revision as of 08:22, 12 January 2020

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

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.

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;

Siehe auch ...