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