/**
 * Calcul de la suite de Fibonacci à l'aide de la
 * récursion à l'aide d'une mémoire permettant d'éviter
 * de recalculer ce qui l'a déjà été.
 * Le prix à payer est d'utiliser une mémoire.
 *
 * @author JBY
 */
public class FibonacciMemoire {
  public static int fibo(int n,int []m) {
    System.out.println("fibo("+n+")");
    if (m[n]!=-1) return m[n];
    m[n] =  fibo(n-1,m)+fibo(n-2,m);
    return m[n];
  }
  public static void main(String []args) {
    int []m = new int[11];
    m[0] = 1;
    m[1] = 1;
    for (int i=2; i<=10; i++) m[i] = -1;
    System.out.println(fibo(10,m));
  }
}