Java-program för att hitta faktorn för ett nummer med hjälp av rekursion

I det här programmet lär du dig att hitta och visa ett nummer med hjälp av en rekursiv funktion i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-metoder
  • Java-rekursion

Faktorn för ett positivt tal n ges av:

 fabrik av n (n!) = 1 * 2 * 3 * 4 * … * n

Faktorn för ett negativt tal finns inte. Och faktorn 0 är 1.

Du kommer att lära dig att hitta ett tal med hjälp av rekursion i detta exempel. Besök den här sidan för att lära dig hur du kan hitta ett nummer med hjälp av loop.

Exempel: Faktor av ett nummer som använder 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; ) )

Produktion

 Faktor 6 = 720

Ursprungligen multiplyNumbers()kallas den från main()funktionen med 6 godkända som argument.

Eftersom 6 är större än eller lika med 1 multipliceras 6 med resultatet multiplyNumbers()där 5 (num -1) passeras. Eftersom det kallas från samma funktion är det ett rekursivt samtal.

I varje rekursivt samtal minskas värdet på argumentet num med 1 tills num når mindre än 1.

När värdet på num är mindre än 1, finns det inget rekursivt samtal.

Och varje rekursivt samtal returnerar och ger oss:

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

Intressanta artiklar...