Šioje programoje išmoksite rasti ir parodyti skaičiaus faktorialą naudodamiesi rekursine Kotlino funkcija.
Teigiamo skaičiaus n faktorą pateikia:
faktorius n (n!) = 1 * 2 * 3 * 4 *… * n
Neigiamo skaičiaus faktorialas neegzistuoja. 0 faktorius yra 1.
Šiame pavyzdyje išmoksite rasti skaičiaus faktorialą naudodami rekursiją. Apsilankykite šiame puslapyje, kad sužinotumėte, kaip galite rasti skaičiaus faktorialą naudodami kilpą.
Pavyzdys: Skaičiaus faktorius naudojant rekursiją
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 )
Kai paleisite programą, išvestis bus:
Faktorinis koeficientas 6 = 720
Iš pradžių multiplyNumbers()
tai iškviečiama iš main()
funkcijos, kai argumentas perduodamas 6.
Kadangi 6 yra didesnis arba lygus 1, 6 padauginamas iš rezultato, multiplyNumbers()
kur praeina 5 (num -1). Kadangi jis iškviečiamas iš tos pačios funkcijos, tai yra rekursinis skambutis.
Kiekviename rekursiniame kvietime argumento num vertė sumažinama 1, kol num pasiekia mažiau nei 1.
Kai num reikšmė yra mažesnė nei 1, rekursinio skambučio nėra.
Kiekvienas rekurzinis skambutis grąžina mums:
6 * 5 * 4 * 3 * 2 * 1 * 1 (0 atveju) = 720
Čia yra lygiavertis „Java“ kodas: „Java“ programa faktoriatui rasti naudojant rekursiją