diff options
| -rw-r--r-- | challenge-306/0rir/raku/ch-1.raku | 4 | ||||
| -rw-r--r-- | challenge-306/0rir/raku/ch-2.raku | 11 |
2 files changed, 8 insertions, 7 deletions
diff --git a/challenge-306/0rir/raku/ch-1.raku b/challenge-306/0rir/raku/ch-1.raku index f6d1937fa5..e40bf11f01 100644 --- a/challenge-306/0rir/raku/ch-1.raku +++ b/challenge-306/0rir/raku/ch-1.raku @@ -40,8 +40,8 @@ plan @Test ÷ 2; multi task( [] ) { 0 } multi task( @a --> Int) { - sum do for 1, *+2 … @a % 2 ?? +@a !! @a -1 { - @a.rotor($_ => -$_ +1 ).flat.sum; + sum do for 1, *+2 … $ = @a % 2 ?? +@a !! @a -1 { + sum @a.rotor($_ => -$_ +1 ).flat; } } diff --git a/challenge-306/0rir/raku/ch-2.raku b/challenge-306/0rir/raku/ch-2.raku index ade054fab6..360a462676 100644 --- a/challenge-306/0rir/raku/ch-2.raku +++ b/challenge-306/0rir/raku/ch-2.raku @@ -62,22 +62,23 @@ only task( @a --> Int) { my Int $max-jr; loop { - return Int if not $h; # ().BagHash + return Int if not $h; # Done if empty. # Handle the max level. $max = $h.keys.max; - next if $h{$max} :delete %% 2; # Just delete it. + next if $h{$max} :delete %% 2; return $max if not $h; # No next level. - $max-jr = $h.keys.max; # Calc & store difference. + # Grab next max, delete it, and store the differ𝑒nce. + $max-jr = $h.keys.max; -- $h{ $max-jr}; - $h.add( $max - $max-jr ); + $h.add( $max - $max-jr); } } for @Test -> $exp, @in { - is task( @in), $exp, "{$exp // $exp.^name()} <- @in.raku()" + is task( @in), $exp, "{$exp // $exp.^name()}\t<- @in.raku()" } done-testing; |
