salut,

je tente de comprendre le fonctionnement de la récursivité , n' ayant vraiment pas compris les Tours de hanoi , j' ai essayé de comprendre comment se déroule la factorielle en récursif

J' ai essayé de mettre des traces dans le passage mais je n 'arrive vraiment pas a comprendre.Ci dessous le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.Scanner ;
 
public class FactoRec {
 
    public static int factRec (int n ){
        int resultat = 1 ;
          System.out.println ("**** Entree (1) dans facRec **** n = " + n);
        if (n == 0){
            resultat =1;
        }else {
           System.out.println ("**** Entree (2) dans facRec **** n = " + n);
            resultat = n * factRec (n-1);
            System.out.println ("**** Sortie (2) dans facRec **** n = " + n);
        }
          System.out.println ("**** Sortie (1) dans facRec **** n = " + n);
          return resultat;
    }
 
    /** Creates a new instance of FactoRec */
    public static void main (String [] args ) {
        Scanner lc = new Scanner (System.in);
        System.out.println ("Saisir un nombre : " );
        int n = lc.nextInt ();
        System.out.println ("la factorielle du nombre est  : "  + factRec(n));
 
    }
 
}

Voila un résultat à l'exécution ,la marque rouge représente l' endroit ou je suis perdu :







merci a vous