/* Calcul de n! par methode recursive           */
/*  - 0! = 1                                    */
/*  - n! = (n-1)!*n                             */

public class FactorielRecursif {
  
//////////////////////////////////////////////////

/* Fonction de calcul et retour                 */
/* de n! par methode récursive                  */
/* Définition:                                  */
/*  - 0! = 1                                    */
/*  - n! = (n-1)!*n                             */
/* n : valeur pour laquelle n! est calculé      */

  static long factoriel(int n) {
    long res;
    if ( n == 0 ) {
      res = 1; }
      else {
      res = factoriel(n-1)*n; }
    return res;
  }

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

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