Java programma, lai atrastu skaitļa faktori, izmantojot rekursiju

Š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

Interesanti raksti...