Program Kotlin na nájdenie faktoriálu čísla pomocou rekurzie

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

Zaujímavé články...