How to resolve the algorithm Ackermann function step by step in the Potion programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Ackermann function step by step in the Potion programming language

Table of Contents

Problem Statement

The Ackermann function is a classic example of a recursive function, notable especially because it is not a primitive recursive function. It grows very quickly in value, as does the size of its call tree.

The Ackermann function is usually defined as follows:

Its arguments are never negative and it always terminates.

Write a function which returns the value of

A ( m , n )

{\displaystyle A(m,n)}

. Arbitrary precision is preferred (since the function grows so quickly), but not required.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Ackermann function step by step in the Potion programming language

Source code in the potion programming language

ack = (m, n):
  if (m == 0): n + 1
. elsif (n == 0): ack(m - 1, 1)
. else: ack(m - 1, ack(m, n - 1)).
.

4 times(m):
  7 times(n):
    ack(m, n) print
    " " print.
  "\n" print.

  

You may also check:How to resolve the algorithm Bitmap/Bresenham's line algorithm step by step in the Go programming language
You may also check:How to resolve the algorithm Find the last Sunday of each month step by step in the Elixir programming language
You may also check:How to resolve the algorithm Generate Chess960 starting position step by step in the Befunge programming language
You may also check:How to resolve the algorithm Stack step by step in the Elixir programming language
You may also check:How to resolve the algorithm First power of 2 that has leading decimal digits of 12 step by step in the Visual Basic .NET programming language