Lesson 8 of 20

Recursion

Recursion

A recursive method calls itself. Every recursion needs a base case to stop:

static int factorial(int n) {
    if (n <= 1) return 1;          // base case
    return n * factorial(n - 1);   // recursive case
}

System.out.println(factorial(5));  // 120

How It Works

factorial(4) expands as:

factorial(4)
  4 * factorial(3)
       3 * factorial(2)
            2 * factorial(1)
                 1           (base case)
= 4 * 3 * 2 * 1 = 24

Fibonacci

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

static int fibonacci(int n) {
    if (n <= 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
}

System.out.println(fibonacci(7));  // 13

Your Task

Implement:

  • factorial(int n) returning a long (for large values) — factorial(10) = 3628800
  • fibonacci(int n)fibonacci(10) = 55

Print factorial(10) then fibonacci(10).

TeaVM (WASM) loading...
Loading...
Click "Run" to execute your code.