/* Calcul de Fib(n) par methode recursive      */
/*  - Fib(0) = 0                               */
/*  - Fib(1) = 1                               */
/*  - Fib(n) = Fib(n-1)+Fib(n-2)               */

public class FibonacciRecursif {
  
/////////////////////////////////////////////////

/* Fonction de calcul et retour                */
/* de Fib(n) par methode recursive             */
/* Définition:                                 */
/*  - Fib(0) = 0                               */
/*  - Fib(1) = 1                               */
/*  - Fib(n) = Fib(n-1)+Fib(n-2)               */
/* n : valeur pour laquelle Fib(n) est calculé */

  static long fib(int n) {
    long res;
    switch (n) {
      case 0 :
      case 1 : {
        res = n; }
        break;
      default : {
        res = fib(n-1)+fib(n-2); }
        break; }
    return res;
  }

/////////////////////////////////////////////////
  
/* Programme principal                         */

  public static void main(String [] args) {
    int n;
    long fibn;
    Ecran.afficher("Valeur ? ");
    n = Clavier.saisirInt();
    fibn = fib(n);
    Ecran.afficherln("Fib(",n,") = ",fibn);
  }
}