Curso de Raku / Esenciales / Bucles / Ejercicios / Factorial

Solución: Factorial

Un factorial de N es un producto de números enteros desde 1 hasta e incluyendo N. Por ejemplo, el factorial de 4 es 1 * 2 * 3 * 4 = 24.

Código

my $n = 8;

my $f = 1;
$f *= $_ for 2..$n;

say $f;

🦋 Encuentra el programa en el archivo factorial.raku.

Salida

Ejecuta el programa varias veces y prueba diferentes valores de $n.

$ raku exercises/loops/factorial.raku
40320

Comentarios

Este programa utiliza el operador *=, que es un atajo para la multiplicación con la asignación: $x *= $y es equivalente a $x = $x * $y.

Puedes usar un bucle ‘completo’ en lugar de una forma postfija:

my $n = 8;

my $f = 1;
for 2..$n -> $x {
    $f *= $x;
}

say $f;

Más sobre este tema

Volveremos a esta tarea varias veces. En esta parte del curso, también resolveremos este problema de manera recursiva.

En la segunda parte del curso, aprenderemos sobre los llamados operadores de reducción, que hacen que la solución sea trivial. Además, habrá una forma de definir un operador personalizado ! para que puedas escribir $n! para calcular un factorial. Finalmente, habrá otra oportunidad de ver una solución interesante cuando hablemos sobre la cláusula where.

Siguiente ejercicio

💪 Números de Fibonacci

Controles condicionales / Operador ternario   |   Conversión de tipos de datos

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

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