English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java Tableau

Java Programmation Orientée Objet (I)

Java Programmation Orientée Objet (II)

Java Programmation Orientée Objet (III)

Gestion des exceptions Java

Java Liste (List)

Java Queue (file d'attente)

Java Map

Java Set

Java Entrée Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Programme Java utilisant la récursivité pour trouver la factorielle d'un nombre

Java complete list of examples

Dans ce programme, vous allez apprendre à chercher et afficher la factorielle d'un nombre en utilisant la fonction récursive en Java.

La factorielle d'un nombre positif n est donnée par l'expression suivante :

factorielle de n (n!) = 1 * 2 * 3 * 4 * ... * n

La factorielle des nombres négatifs n'existe pas. La factorielle de 0 est1.

Dans cet exemple, vous allez apprendre à chercher la factorielle d'un nombre en récursif. Visitez cette page pour comprendre commentRecherche de la factorielle d'un nombre avec une boucle.

Exemple : calcul de la factorielle en récursif

public class Factorial {
    public static void main(String[] args) {
        int num = 6;
        long factorial = multiplyNumbers(num);
        System.out.println("") + num + "factorial = " + factorial);
    }
    public static long multiplyNumbers(int num)
    {
        if (num >= 1)
            return num * multiplyNumbers(num - 1);
        else
            return 1;
    }
}

When the program is run, the output is:

 6factorial = 720

Initially, multiplyNumbers() is called from the main() function, with6as a parameter.

because6greater than or equal to1so6multiplied by the result of multiplyNumbers(), where5 (num -1). Because it is called from the same function, it is a recursive call.

In each recursive call, the value of the parameter num decreases1until num is less than1.

When the value num is less than1there will be no recursive calls.

Each recursive call returns to us:

6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720

Java complete list of examples