V tomto programe sa naučíte nájsť a zobraziť faktoriál čísla pomocou rekurzívnej funkcie v Kotline.
Faktoriál kladného čísla n je daný:
faktoriál n (n!) = 1 * 2 * 3 * 4 * … * n
Faktoriál záporného čísla neexistuje. A faktoriál 0 je 1.
V tomto príklade sa naučíte nájsť faktoriál čísla pomocou rekurzie. Na tejto stránke nájdete informácie o tom, ako nájsť faktoriál čísla pomocou slučky.
Príklad: Faktoriál čísla pomocou rekurzie
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 )
Po spustení programu bude výstup:
Faktoriál 6 = 720
Spočiatku multiplyNumbers()
sa main()
funkcia volá z funkcie, keď sa ako argument predá 6.
Pretože 6 je väčšie alebo rovné 1, 6 sa vynásobí výsledkom, multiplyNumbers()
kde je odovzdaných 5 (num -1). Pretože sa volá z tej istej funkcie, jedná sa o rekurzívne volanie.
V každom rekurzívnom volaní sa hodnota argumentu num znižuje o 1, kým num nedosiahne menej ako 1.
Keď je hodnota num menšia ako 1, rekurzívne volanie nie je.
A každé rekurzívne volanie sa vráti a poskytne nám:
6 * 5 * 4 * 3 * 2 * 1 * 1 (pre 0) = 720
Tu je ekvivalentný kód Java: Program Java na vyhľadanie faktoriálu pomocou rekurzie