Šajā programmā jūs iemācīsities atrast un parādīt skaitļa faktorialu, izmantojot Java rekursīvo funkciju.
Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:
- Java metodes
- Java rekursija
Pozitīvā skaitļa n koeficientu izsaka:
n (n!) faktoriāls = 1 * 2 * 3 * 4 *… * n
Negatīvā skaitļa faktoriāls neeksistē. Un koeficients 0 ir 1.
Jūs iemācīsities atrast skaitļa faktorialu, izmantojot šajā piemērā rekursiju. Apmeklējiet šo lapu, lai uzzinātu, kā jūs varat atrast skaitļa faktori, izmantojot cilpu.
Piemērs: skaitļa faktori, izmantojot rekursiju
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; ) )
Rezultāts
Faktoriāls 6 = 720
Sākotnēji multiplyNumbers()
tiek izsaukts no main()
funkcijas ar argumentu 6.
Tā kā 6 ir lielāks vai vienāds ar 1, 6 tiek reizināts ar rezultātu, multiplyNumbers()
kurā tiek nodots 5 (num -1). Tā kā tas tiek izsaukts no tās pašas funkcijas, tas ir rekursīvs zvans.
Katrā rekursīvajā izsaukumā argumenta num vērtība tiek samazināta par 1, līdz num sasniedz mazāk nekā 1.
Ja num vērtība ir mazāka par 1, rekursīvs zvans netiek veikts.
Katrs rekurzīvais zvans atgriežas, dodot mums:
6 * 5 * 4 * 3 * 2 * 1 * 1 (0) = 720