Difference between revisions of "Fibonacci number/de"
From Free Pascal wiki
Jump to navigationJump to searchm (remove redlinks) |
m (Fixed syntax highlighting; removed unused display title; deleted category already in page template) |
||
(One intermediate revision by one other user not shown) | |||
Line 11: | Line 11: | ||
== 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> | ||
Line 59: | Line 57: | ||
* [[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] | ||
− | |||
− |
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;