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
Navegación del curso
← 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: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська