|
|
- \`\`\`
-
- 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](https://en.wikipedia.org/wiki/Ackermann_function).
|