Kurso de Raku / Aldono 🆕 / Labori kun datumoj / Nombroj kaj matematiko / Exercises / Paŝoj de Collatz
Solvo: Paŝoj de Collatz
Jen ebla solvo de la tasko.
Kodo
my $n = 27;
my $steps = 0;
while $n != 1 {
$n = $n %% 2 ?? $n div 2 !! 3 * $n + 1;
$steps++;
}
say $steps;🦋 Vi povas trovi la fontkodon en la dosiero collatz.raku.
Eligo
111Komentoj
La ternara
?? !!elektas la sekvan valoron per unu esprimo: duonigu$n, kiam ĝi estas para ($n %% 2), alie apliku3 * $n + 1.27estas fama malgranda kazo, kiu faras surprize longan ĉirkaŭvojon —111paŝojn — antaŭ ol ĝi fine trankviliĝas ĉe1.