În acest program, veți învăța să găsiți și să afișați factorialul unui număr folosind o funcție recursivă în Java.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:
- Metode Java
- Recursiune Java
Factorialul unui număr pozitiv n este dat de:
factorial de n (n!) = 1 * 2 * 3 * 4 * … * n
Factorialul unui număr negativ nu există. Și factorialul 0 este 1.
În acest exemplu, veți învăța să găsiți factorialul unui număr folosind recursivitatea. Accesați această pagină pentru a afla cum puteți găsi factorialul unui număr folosind bucla.
Exemplu: Factorialul unui număr folosind recursivitate
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; ) )
Ieșire
Factorial de 6 = 720
Inițial, multiplyNumbers()
se apelează din main()
funcția cu 6 trecut ca argument.
Deoarece 6 este mai mare sau egal cu 1, 6 se înmulțește cu rezultatul de multiplyNumbers()
unde este trecut 5 (num -1). Deoarece, este apelat din aceeași funcție, este un apel recursiv.
În fiecare apel recursiv, valoarea argumentului num este scăzută cu 1 până când num ajunge la mai puțin de 1.
Când valoarea num este mai mică de 1, nu există apel recursiv.
Și fiecare apel recursiv revine oferindu-ne:
6 * 5 * 4 * 3 * 2 * 1 * 1 (pentru 0) = 720