В этой программе вы научитесь находить и отображать факториал числа с помощью рекурсивной функции в 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 для поиска факториала с использованием рекурсии