aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-077/mark-anderson/raku/ch-1.raku2
-rw-r--r--challenge-077/mark-anderson/raku/ch-2.raku22
2 files changed, 11 insertions, 13 deletions
diff --git a/challenge-077/mark-anderson/raku/ch-1.raku b/challenge-077/mark-anderson/raku/ch-1.raku
index 5505be511f..cab9692458 100644
--- a/challenge-077/mark-anderson/raku/ch-1.raku
+++ b/challenge-077/mark-anderson/raku/ch-1.raku
@@ -1,6 +1,6 @@
unit sub MAIN(UInt $N);
-my @fib = (1, 1, * + * ... * + * > $N).unique;
+my @fib = (1, 2, * + * ... $N <= * + *);
my @results = gather {
for 2..@fib -> $n {
diff --git a/challenge-077/mark-anderson/raku/ch-2.raku b/challenge-077/mark-anderson/raku/ch-2.raku
index 767c3aaf67..4f5bd9e18c 100644
--- a/challenge-077/mark-anderson/raku/ch-2.raku
+++ b/challenge-077/mark-anderson/raku/ch-2.raku
@@ -9,18 +9,16 @@ lonely-X([ <O O X O>,
sub lonely-X(@matrix) {
my @results = gather {
- for ^@matrix -> $r {
- for ^@matrix[0] -> $c {
- if @matrix[$r][$c] eq "X" {
- take [$r, $c] unless any((@matrix[$r-1][$c-1] // q{}),
- (@matrix[$r-1][$c ] // q{}),
- (@matrix[$r-1][$c+1] // q{}),
- (@matrix[$r ][$c-1] // q{}),
- (@matrix[$r ][$c+1] // q{}),
- (@matrix[$r+1][$c+1] // q{}),
- (@matrix[$r+1][$c ] // q{}),
- (@matrix[$r+1][$c-1] // q{})) eq "X";
- }
+ for ^@matrix X ^@matrix[0] -> ($r, $c) {
+ if @matrix[$r][$c] eq "X" {
+ take [$r, $c] unless any((@matrix[$r-1][$c-1] // q{}),
+ (@matrix[$r-1][$c ] // q{}),
+ (@matrix[$r-1][$c+1] // q{}),
+ (@matrix[$r ][$c-1] // q{}),
+ (@matrix[$r ][$c+1] // q{}),
+ (@matrix[$r+1][$c+1] // q{}),
+ (@matrix[$r+1][$c ] // q{}),
+ (@matrix[$r+1][$c-1] // q{})) eq "X";
}
}
}