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