Corso di Raku / Appendice 🆕 / Lavorare con i dati / Numeri e matematica / Exercises / Passi di Collatz
Soluzione: Passi di Collatz
Ecco una possibile soluzione del compito.
Codice
my $n = 27;
my $steps = 0;
while $n != 1 {
$n = $n %% 2 ?? $n div 2 !! 3 * $n + 1;
$steps++;
}
say $steps;🦋 Trova il programma nel file collatz.raku.
Output
111Commenti
Il ternario
?? !!sceglie il valore successivo in un’unica espressione: dimezza$nquando è pari ($n %% 2), altrimenti applica3 * $n + 1.27è un famoso caso piccolo che prende una deviazione sorprendentemente lunga —111passi — prima di assestarsi finalmente su1.