Программа Kotlin для поиска факториала числа с помощью рекурсии

В этой программе вы научитесь находить и отображать факториал числа с помощью рекурсивной функции в 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 больше или равно 1, 6 умножается на результат, в multiplyNumbers()котором передается 5 (число -1). Поскольку он вызывается из той же функции, это рекурсивный вызов.

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

Когда значение num меньше 1, рекурсивный вызов отсутствует.

И каждый рекурсивный вызов возвращается, давая нам:

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

Вот эквивалентный код Java: Программа на Java для поиска факториала с использованием рекурсии

Интересные статьи...