Difference between revisions of "Leonardo number"

From Lazarus wiki
Jump to navigationJump to search
m
m (Fixed syntax highlighting)
 
Line 6: Line 6:
  
 
  1, 1, 3, 5, 9, 15, 25 ...
 
  1, 1, 3, 5, 9, 15, 25 ...
 
  
 
== Recursive way ==
 
== Recursive way ==
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
 
 
function LeonardoNumber( n : integer ):integer;
 
function LeonardoNumber( n : integer ):integer;
 
begin
 
begin
Line 17: Line 15:
 
     else result := 1;
 
     else result := 1;
 
end;   
 
end;   
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
  
 
== Making use of [[Fibonacci number]]s  ==
 
== Making use of [[Fibonacci number]]s  ==
  
<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>
<br>
 

Latest revision as of 02:29, 19 February 2020

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

Leonardo number

The Leonardo Sequence is the series of numbers:

1, 1, 3, 5, 9, 15, 25 ...

Recursive way

function LeonardoNumber( n : integer ):integer;
begin
  if n > 1 then result := LeonardoNumber( n - 1 ) + LeonardoNumber( n - 2 ) + 1
    else result := 1;
end;

Making use of Fibonacci numbers

function LeonardoNumber2( n : integer ):integer;
begin
  result := 2 * FibonacciNumber( n + 1) - 1
end;