Curso de Raku / Apéndice 🆕 / Trabajar con datos / Números y matemáticas / Exercises / Pasos de Collatz
Solución: Pasos de Collatz
Aquí tienes una posible solución para la tarea.
Código
my $n = 27;
my $steps = 0;
while $n != 1 {
$n = $n %% 2 ?? $n div 2 !! 3 * $n + 1;
$steps++;
}
say $steps;🦋 Puedes encontrar el código fuente en el archivo collatz.raku.
Salida
111Comentarios
El ternario
?? !!elige el valor siguiente en una sola expresión: divide$npor dos cuando es par ($n %% 2), y en caso contrario aplica3 * $n + 1.27es un caso pequeño célebre que da un rodeo sorprendentemente largo —111pasos — antes de asentarse por fin en1.