package fibonacci;
public class Fib {
static int fib(int n)
{
System.out.println("fib(" + n + ") called");
if(n<=1)
{
return n;
}
int temp = fib(n-1) + fib(n-2);
System.out.println("returning to fib(" + n +")");
return temp;
}
public static void main(String[] args)
{
System.out.println("fib(5): " + fib(5));
}
}
fib (5) appelé
fib (4) appelé
fib (3) appelé
fib (2) appelé
fib (1) appelé
fib (0) appelé
retournant à fib (2)
fib (1) appelé
revenant à fib (3)
fib (2) appelé
fib (1) appelé
fib (0) appelée
retour à fib (2)
retour à fib (4)
fib (3) appelé
fib (2) appelé
fib (1) appelé
fib (0) appelée
retour à fib (2)
fib (1) appelé
retour à fib (3)
retour à fib (5
fib (5): 5
PS: Pourquoi fib (n-1) est appelé avant fib (n-2)?