aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-136/mark-anderson/raku/ch-1.raku2
-rw-r--r--challenge-136/mark-anderson/raku/ch-2.raku9
2 files changed, 4 insertions, 7 deletions
diff --git a/challenge-136/mark-anderson/raku/ch-1.raku b/challenge-136/mark-anderson/raku/ch-1.raku
index 59f55c91a0..16ae31fcd9 100644
--- a/challenge-136/mark-anderson/raku/ch-1.raku
+++ b/challenge-136/mark-anderson/raku/ch-1.raku
@@ -9,5 +9,5 @@ is two-friendly(4, 10), 1, 'Example 3';
sub two-friendly($m, $n)
{
- +(log2($m gcd $n).narrow ~~ UInt);
+ +(log2($m gcd $n).narrow ~~ Int);
}
diff --git a/challenge-136/mark-anderson/raku/ch-2.raku b/challenge-136/mark-anderson/raku/ch-2.raku
index dff7f97a72..fff8eb4235 100644
--- a/challenge-136/mark-anderson/raku/ch-2.raku
+++ b/challenge-136/mark-anderson/raku/ch-2.raku
@@ -5,15 +5,12 @@ plan 3;
for 16 => 4, 9 => 2, 15 => 2
{
- is +fibonacci-sums(.key), .value, "Example " ~ ++$;
+ is fibonacci-sums(.key), .value, "Example " ~ ++$
}
sub fibonacci-sums($n)
{
- my $fib := 1, 2, { $^a + $^b } ... { $n - $^a < $^b };
+ my $fib := 1, 2, { $^a + $^b } ... { $^a + $^b >= $n }
- gather for $fib.combinations.skip
- {
- .take if .sum == $n;
- }
+ + $fib.combinations(2..*).grep(*.sum == $n)
}