How to resolve the algorithm Leonardo numbers step by step in the Picat programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Leonardo numbers step by step in the Picat programming language

Table of Contents

Problem Statement

Leonardo numbers   are also known as the   Leonardo series.

The   Leonardo numbers   are a sequence of numbers defined by:

This task will be using the 3rd equation (above) to calculate the Leonardo numbers.

Edsger W. Dijkstra   used   Leonardo numbers   as an integral part of his   smoothsort   algorithm.

The first few Leonardo numbers are:

(The last task requirement will produce the Fibonacci numbers.)

Show all output here on this page.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Leonardo numbers step by step in the Picat programming language

Source code in the picat programming language

go =>
  println([leonardo(I) : I in 0..24]),    
  println([leonardo(0,1,0,I) : I in 0..24]).

leonardo(N) = leonardo(1,1,1,N).
table
leonardo(I1,_I2,_Add,0) = I1.
leonardo(_I1,I2,_Add,1) = I2.
leonardo(I1,I2,Add,N) = leonardo(I1,I2,Add,N-1) + leonardo(I1,I2,Add,N-2) + Add.

  

You may also check:How to resolve the algorithm Jaro similarity step by step in the Emacs Lisp programming language
You may also check:How to resolve the algorithm One of n lines in a file step by step in the Scala programming language
You may also check:How to resolve the algorithm Conditional structures step by step in the Object Pascal programming language
You may also check:How to resolve the algorithm Test integerness step by step in the AWK programming language
You may also check:How to resolve the algorithm Active Directory/Search for a user step by step in the Run BASIC programming language