Java-programma om de faculteit van een nummer te vinden met behulp van recursie

In dit programma leer je de faculteit van een getal te vinden en weer te geven met behulp van een recursieve functie in Java.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java-methoden
  • Java-recursie

De faculteit van een positief getal n wordt gegeven door:

 faculteit van n (n!) = 1 * 2 * 3 * 4 *… * n

De faculteit van een negatief getal bestaat niet. En de faculteit van 0 is 1.

In dit voorbeeld leer je de faculteit van een getal te vinden met behulp van recursie. Bezoek deze pagina om te leren hoe u de faculteit van een getal kunt vinden met behulp van lus.

Voorbeeld: faculteit van een getal met behulp van recursie

 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; ) )

Uitvoer

 Factoriaal van 6 = 720

In eerste instantie wordt de multiplyNumbers()aangeroepen vanuit de main()functie met 6 doorgegeven als argument.

Omdat 6 groter is dan of gelijk is aan 1, wordt 6 vermenigvuldigd met het resultaat multiplyNumbers()waarvan 5 (num -1) wordt doorgegeven. Omdat het wordt aangeroepen vanuit dezelfde functie, is het een recursieve aanroep.

Bij elke recursieve aanroep wordt de waarde van argument num verlaagd met 1 totdat num minder dan 1 bereikt.

Als de waarde van num kleiner is dan 1, is er geen recursieve aanroep.

En elke recursieve aanroep keert terug en geeft ons:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (voor 0) = 720

Interessante artikelen...