How does recursion work? [closed]

As been pointed out, recursion is when a function calls itself. Here illustrated using factorial, where factorial(5) mathematically evalutates to values 5 * 4 * 3 * 2 * 1.

public int factorial(int x) {
   if (x == 1) return 1;
   else return x * factorial (x - 1);
}

// Try routine
factorial(3);

Which evaluates as

 factorial(1) = 1                                        = 1
 factorial(2) = 2 * factoral(1)                          = 2 * 1 
 factorial(3) = 3 * (2 * factorial(2) * (factorial(1))   = 3 * 2 * 1
 ...

Leave a Comment