English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Programa Kotlin que usa recursión para encontrar el factorial de un número

Colección completa de ejemplos de Kotlin

En este programa, aprenderás a usar funciones recursivas en Kotlin para encontrar y mostrar el factorial de un número.

El factorial de un número positivo n se da por la siguiente fórmula:

factorial de n (n!) = 1 * 2 * 3 * 4 * ... * n

El factorial de números negativos no existe. El factorial de 0 es1。

En este ejemplo, aprenderás a usar recursión para encontrar el factorial de un número. Visita esta página para saber cómo encontrar el factorial de un número usando bucles. Factorial

Ejemplo: factorial utilizando recursión

fun main(args: Array<String>) {
    val num = 6
    val factorial = multiplyNumbers(num)
    println("$num 的阶乘 = $factorial")
}
fun multiplyNumbers(num: Int): Long {
    if (num >= 1)
        return num * multiplyNumbers(num - 1)
    else
        return 1
}

Al ejecutar el programa, la salida es:

 6 el factorial de 720

Inicialmente, se llama a multiplyNumbers() desde la función main() y se pasa por6se pasa como parámetro.}

Porque6mayor o igual que1, por lo que6multiplica el resultado de multiplyNumbers(), donde se pasó5 (num -1). Porque es una llamada desde la misma función, por lo que es una llamada recursiva.
En cada llamada recursiva, el valor del parámetro num se reduce1, hasta que num sea menor que1。Cuando el valor de num es menor que1No hay llamadas recursivas.

Cada llamada recursiva nos devuelve:

6 * 5 * 4 * 3 * 2 * 1 * 1 (para 0) = 720

A continuación, se muestra el código Java equivalente:Programa Java para encontrar el factorial usando recursión

Colección completa de ejemplos de Kotlin