Personal blog written from scratch using Node.js, Bootstrap, and MySQL. https://jrtechs.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1.5 KiB

class Ackermann_function
{
    public static void main(String[] args)
    {
        //prints intro

        System.out.println("This program will solve for all values in ackermann
function using recursion.1");

        System.out.println("**************************n")
        //calls for all values of ackerman using for loop
        for(int i = 0; i < 6; i ++)
        {
            for(int j = 0; j < 10; j ++)
            {
                System.out.println("Ackerman (" + i + "," + j + ") is: " +
ack(i,j));
            }
        }

        //test sinlge
        //System.out.println(ack(3,1));
    }

    public static int ack(int m, int n)
    {
        if(m == 0)
        {
            return(n + 1);
        }
        else if(m > 0 && n == 0)
        {
            return(ack(m-1,1));
        }
        else if(m >0 && n > 0);
        {
            return(ack(m-1, ack(m,n-1)));
        }
    }
}

The Ackermann function is a classic example of a function that is not primitive recursive – you cannot solve it using loops like Fibonacci. In other words, you have to use recursion to solve for values of the Ackermann function.

For more information on the Ackermann function click here.