Difference between revisions of "Leonardo number/de"
From Lazarus wiki
Jump to navigationJump to search (Translation to german) |
m (Fixed syntax highlighting) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | {{Leonardo_number}} | + | {{Leonardo_number|Leonardo Zahlen}} |
= Leonardo Zahlen = | = Leonardo Zahlen = | ||
Line 8: | Line 8: | ||
Es gibt zwei Methoden um sie zu ermitteln: | Es gibt zwei Methoden um sie zu ermitteln: | ||
+ | |||
== rekursive Methode == | == rekursive Methode == | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
− | |||
function LeonardoNumber( n : integer ):integer; | function LeonardoNumber( n : integer ):integer; | ||
begin | begin | ||
Line 19: | Line 19: | ||
result := 1; | result := 1; | ||
end; | end; | ||
+ | </syntaxhighlight> | ||
− | |||
Für Zahlen kleiner/gleich 1 (kleiner als 2) wird der Rückgabewert fest vorgegeben. | Für Zahlen kleiner/gleich 1 (kleiner als 2) wird der Rückgabewert fest vorgegeben. | ||
Für Zahlen größer als 1 benutzt der Algorithmus jeweils den Vorgänger und Vorvorgänger zur Ermittlung des Rückgabewerts. | Für Zahlen größer als 1 benutzt der Algorithmus jeweils den Vorgänger und Vorvorgänger zur Ermittlung des Rückgabewerts. | ||
Line 26: | Line 26: | ||
== Unter Benutzung der [[Fibonacci number|Fibonacci Zahlen]] == | == Unter Benutzung der [[Fibonacci number|Fibonacci Zahlen]] == | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
− | |||
function LeonardoNumber2( n : integer ):integer; | function LeonardoNumber2( n : integer ):integer; | ||
begin | begin | ||
result := 2 * FibonacciNumber( n + 1) - 1 | result := 2 * FibonacciNumber( n + 1) - 1 | ||
end; | end; | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Bem.: Die [[Fibonacci-Zahlen]] lassen sich auch in einer geschlossenen, nicht rekursiven Art ermitteln, somit auch die [[Leonardo-Zahlen]] das würde aber hier zu weit führen. Siehe dazu den entsprechenden Wikipedia-Artikel unter [https://de.wikipedia.org/wiki/Fibonaccizahlen Fibonacci Zahlen] | + | Bem.: Die [[Fibonacci_number|Fibonacci-Zahlen]] lassen sich auch in einer geschlossenen, nicht rekursiven Art ermitteln, somit auch die [[Leonardo_number|Leonardo-Zahlen]] das würde aber hier zu weit führen. Siehe dazu den entsprechenden Wikipedia-Artikel unter [https://de.wikipedia.org/wiki/Fibonaccizahlen Fibonacci Zahlen] |
− |
Latest revision as of 02:31, 19 February 2020
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
Leonardo Zahlen
Die Leonardo Zahlen(-Folge) ist eine Reihe von Zahlen:
1, 1, 3, 5, 9, 15, 25 ...
Es gibt zwei Methoden um sie zu ermitteln:
rekursive Methode
function LeonardoNumber( n : integer ):integer;
begin
if n > 1 then
result := LeonardoNumber( n - 1 ) + LeonardoNumber( n - 2 ) + 1
else
result := 1;
end;
Für Zahlen kleiner/gleich 1 (kleiner als 2) wird der Rückgabewert fest vorgegeben. Für Zahlen größer als 1 benutzt der Algorithmus jeweils den Vorgänger und Vorvorgänger zur Ermittlung des Rückgabewerts.
Unter Benutzung der Fibonacci Zahlen
function LeonardoNumber2( n : integer ):integer;
begin
result := 2 * FibonacciNumber( n + 1) - 1
end;
Bem.: Die Fibonacci-Zahlen lassen sich auch in einer geschlossenen, nicht rekursiven Art ermitteln, somit auch die Leonardo-Zahlen das würde aber hier zu weit führen. Siehe dazu den entsprechenden Wikipedia-Artikel unter Fibonacci Zahlen