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>
  
</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]
<br>
 

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