Java-program til at finde faktor for et tal ved hjælp af rekursion

I dette program lærer du at finde og vise et nummer til et nummer ved hjælp af en rekursiv funktion i Java.

For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:

  • Java-metoder
  • Java-rekursion

Faktoriet for et positivt tal n er givet ved:

 faktor af n (n!) = 1 * 2 * 3 * 4 * … * n

Faktoren for et negativt tal findes ikke. Og faktoren på 0 er 1.

I dette eksempel lærer du at finde et faktors nummer ved hjælp af rekursion. Besøg denne side for at lære, hvordan du kan finde et nummer ved hjælp af loop.

Eksempel: Faktor af et tal ved hjælp af 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

Oprindeligt multiplyNumbers()kaldes den fra main()funktionen med 6 bestået som argument.

Da 6 er større end eller lig med 1, multipliceres 6 med resultatet, multiplyNumbers()hvor 5 (num -1) sendes. Da det kaldes fra den samme funktion, er det et rekursivt opkald.

I hvert rekursivt opkald reduceres værdien af ​​argumentet num med 1, indtil num når mindre end 1.

Når værdien af ​​num er mindre end 1, er der ikke noget rekursivt opkald.

Og hvert rekursive opkald vender tilbage og giver os:

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

Interessante artikler...