Fibonacci function result confusion

public class Fibonacci {
public static long fib(int n) {
if (n <= 1) return n;
else return fib(n-1) + fib(n-2);
}

public static void main(String[] args) {
    int N = Integer.parseInt(args[0]);
    for (int i = 1; i <= N; i++)
        System.out.println(i + ": " + fib(i));
}

}

Let’s assume that the user input “java Fibonacci 7”, so the result would be like this:

1: 1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13

I seem to be totally confused with how this works, starting with argument 3. When the fib(i) method gets passed 3, shouldn’t it return 3 as well since if n = 3 then the sum of fib(n-1) /n-1 is 2/ and fib(n-2) /n-2 is 1/ is 3. And so on the other numbers forward.

I have found these two resources:

  1. Wiki
  2. Scaler

Hi,
Are you sure that your question is about opencv?

clearly not about opencv