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

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Ackermann function step by step in the DWScript 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 DWScript programming language

Source code in the dwscript programming language

function Ackermann(m, n : Integer) : Integer;
begin
    if m = 0 then
        Result := n+1
    else if n = 0 then
        Result := Ackermann(m-1, 1)
    else Result := Ackermann(m-1, Ackermann(m, n-1));
end;


  

You may also check:How to resolve the algorithm Determine if a string has all the same characters step by step in the XPL0 programming language
You may also check:How to resolve the algorithm Random number generator (included) step by step in the Lua programming language
You may also check:How to resolve the algorithm Averages/Mode step by step in the PowerShell programming language
You may also check:How to resolve the algorithm Catamorphism step by step in the Go programming language
You may also check:How to resolve the algorithm Hello world/Text step by step in the beeswax programming language