I dette programmet lærer du å finne og vise et tallfaktor ved hjelp av en rekursiv funksjon i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java-metoder
- Java-rekursjon
Faktoren til et positivt tall n er gitt av:
fabrikk av n (n!) = 1 * 2 * 3 * 4 * … * n
Faktoriet om et negativt tall eksisterer ikke. Og faktoren på 0 er 1.
Du vil lære å finne et tallfaktor ved hjelp av rekursjon i dette eksemplet. Besøk denne siden for å lære hvordan du kan finne et tall som bruker et nummer ved hjelp av loop.
Eksempel: Faktor av et tall ved bruk av rekursjon
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; ) )
Produksjon
Faktor av 6 = 720
Opprinnelig multiplyNumbers()
kalles det fra main()
funksjonen med 6 bestått som argument.
Siden 6 er større enn eller lik 1, multipliseres 6 med resultatet multiplyNumbers()
der 5 (num -1) sendes. Siden det kalles fra samme funksjon, er det et rekursivt anrop.
I hvert rekursivt anrop reduseres verdien av argumentet num med 1 til num når mindre enn 1.
Når verdien på num er mindre enn 1, er det ingen rekursiv samtale.
Og hver rekursive samtale returnerer og gir oss:
6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720