Curso de Raku / Esenciales / Crear y llamar funciones / Ejercicios / Factorial recursivo

Solución: Factorial recursivo

El factorial es un ejercicio muy productivo, ya que se puede resolver de varias formas diferentes. Esta vez estamos usando recursión, lo que significa que la función se llama a sí misma.

Código 1

Aquí está el código de la solución. Nota que necesitas verificar la condición para detener la recursión, de lo contrario continuará indefinidamente.

sub factorial($n) {
    if $n < 2 {
        return 1;
    }
    else {
        return $n * factorial($n - 1);
    }
}

say factorial(10);

🦋 Encuentra el programa en el archivo recursive-factorial.raku.

Código 2

En los casos, como se muestra en este código, a menudo es mejor usar formas postfijas de if para retornar inmediatamente de la función. Este enfoque aclara el código y elimina mucha indentación y puntuación.

sub factorial($n) {
    return 1 if $n < 2;
    return $n * factorial($n - 1);
}

say factorial(10);

🦋 Encuentra el programa actualizado en el archivo recursive-factorial-2.raku.

Ejemplo

Ejecuta el programa y verifica el resultado. Por cierto, ¿sabías que 10! es el número exacto de segundos en seis semanas?

$ raku exercises/functions/recursive-factorial.raku
3628800

Siguiente ejercicio

💪 Función de intervalo

Tipos de datos asociativos / Interpolar hashes   |   Más sobre funciones

Esta página está traducida automáticamente con ChatGPT 4o. Texto original en inglés.

Traducciones de esta página: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська