Програма Котліна для пошуку множника числа за допомогою рекурсії

У цій програмі ви навчитеся знаходити та відображати факторіал числа за допомогою рекурсивної функції в Kotlin.

Факториал додатного числа n задається:

 факторіал n (n!) = 1 * 2 * 3 * 4 * … * n

Факториал від'ємного числа не існує. А факторіал 0 дорівнює 1.

У цьому прикладі ви навчитеся знаходити факторіал числа, використовуючи рекурсію. Відвідайте цю сторінку, щоб дізнатись, як можна знайти факторіал числа за допомогою циклу.

Приклад: множник числа, що використовує рекурсію

 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 )

Коли ви запускаєте програму, результат буде:

 Факториал 6 = 720

Спочатку multiplyNumbers()виклик виконується із main()функції, аргумент якої передано 6.

Оскільки 6 більше або дорівнює 1, 6 множиться на результат, multiplyNumbers()коли передається 5 (число -1). Оскільки він викликається з тієї ж функції, це рекурсивний виклик.

У кожному рекурсивному виклику значення аргументу num зменшується на 1, поки num не досягає менше 1.

Коли значення num менше 1, немає рекурсивного виклику.

І кожен рекурсивний виклик повертається і дає нам:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (для 0) = 720

Ось еквівалентний код Java: програма Java для пошуку факторіалів за допомогою рекурсії

Цікаві статті...