Dans ce programme, vous apprendrez à rechercher et à afficher la factorielle d'un nombre à l'aide d'une fonction récursive en Java.
Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:
- Méthodes Java
- Récursivité Java
La factorielle d'un nombre positif n est donnée par:
factorielle de n (n!) = 1 * 2 * 3 * 4 *… * n
La factorielle d'un nombre négatif n'existe pas. Et la factorielle de 0 est 1.
Vous apprendrez à trouver la factorielle d'un nombre en utilisant la récursivité dans cet exemple. Visitez cette page pour savoir comment trouver la factorielle d'un nombre en utilisant la boucle.
Exemple: factorielle d'un nombre utilisant la récursivité
public class Factorial ( public static void main(String() args) ( int num = 6; long factorial = multiplyNumbers(num); System.out.println("Factorial of " + num + " = " + factorial); ) public static long multiplyNumbers(int num) ( if (num>= 1) return num * multiplyNumbers(num - 1); else return 1; ) )
Production
Factorielle de 6 = 720
Initialement, le multiplyNumbers()
est appelé à partir de la main()
fonction avec 6 passé comme argument.
Puisque 6 est supérieur ou égal à 1, 6 est multiplié par le résultat multiplyNumbers()
où 5 (num -1) est passé. Depuis, il est appelé à partir de la même fonction, il s'agit d'un appel récursif.
Dans chaque appel récursif, la valeur de l'argument num est diminuée de 1 jusqu'à ce que num atteigne moins de 1.
Lorsque la valeur de num est inférieure à 1, il n'y a pas d'appel récursif.
Et chaque appel récursif revient nous donnant:
6 * 5 * 4 * 3 * 2 * 1 * 1 (pour 0) = 720