Programme Java pour rechercher la factorielle d'un nombre à l'aide de la récursivité

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

Articles intéressants...