/* Calcul du nombre de Fibonacci                */
/* au moyen d'une fonction récursive            */

public class NombreFibonacci {

/* 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("n? ");
    n = Clavier.saisirInt();
    Ecran.afficherln("Début du calcul de fib(",n,")");
    fibn = fib(n);
    Ecran.afficherln("Fin du calcul de fib(",n,")");
    Ecran.afficherln("fib(",n,") = ",fibn);
  }
}