Java-Programm zum Finden des Faktors einer Zahl mithilfe der Rekursion

In diesem Programm lernen Sie, die Fakultät einer Zahl mithilfe einer rekursiven Funktion in Java zu finden und anzuzeigen.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java-Methoden
  • Java-Rekursion

Die Fakultät einer positiven Zahl n ist gegeben durch:

 Fakultät von n (n!) = 1 * 2 * 3 * 4 *… * n

Die Fakultät einer negativen Zahl existiert nicht. Und die Fakultät von 0 ist 1.

In diesem Beispiel lernen Sie, die Fakultät einer Zahl mithilfe der Rekursion zu ermitteln. Besuchen Sie diese Seite, um zu erfahren, wie Sie die Fakultät einer Zahl mithilfe der Schleife finden können.

Beispiel: Faktor einer Zahl mit Rekursion

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

Ausgabe

 Faktor von 6 = 720

Zunächst wird das multiplyNumbers()von der main()Funktion aufgerufen, wobei 6 als Argument übergeben wird.

Da 6 größer oder gleich 1 ist, wird 6 mit dem Ergebnis multipliziert, bei multiplyNumbers()dem 5 (num -1) übergeben wird. Da es von derselben Funktion aufgerufen wird, handelt es sich um einen rekursiven Aufruf.

Bei jedem rekursiven Aufruf wird der Wert des Arguments num um 1 verringert, bis num weniger als 1 erreicht.

Wenn der Wert von num kleiner als 1 ist, gibt es keinen rekursiven Aufruf.

Und jeder rekursive Aufruf gibt Folgendes zurück:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (für 0) = 720

Interessante Beiträge...