Program Java pentru a găsi factorul unui număr folosind recursivitate

Î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

Articole interesante...