Šajā programmā jūs iemācīsities atrast un parādīt skaitļa faktorialu, izmantojot rekursīvo funkciju Kotlīnā.
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
fun main(args: Array) ( val num = 6 val factorial = multiplyNumbers(num) println("Factorial of $num = $factorial") ) fun multiplyNumbers(num: Int): Long ( if (num>= 1) return num * multiplyNumbers(num - 1) else return 1 )
Palaidot programmu, izeja būs:
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
Šeit ir ekvivalents Java kods: Java programma, lai atrastu faktoriālu, izmantojot rekursiju