aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-089/gugod/raku/ch-2.raku27
1 files changed, 27 insertions, 0 deletions
diff --git a/challenge-089/gugod/raku/ch-2.raku b/challenge-089/gugod/raku/ch-2.raku
new file mode 100644
index 0000000000..6c8fe1b262
--- /dev/null
+++ b/challenge-089/gugod/raku/ch-2.raku
@@ -0,0 +1,27 @@
+
+my @magic-squares = (1..9).permutations.grep(
+ -> ($a, $b, $c, $d, $e, $f, $g, $h, $i) {
+ all(
+ $a + $b + $c == 15,
+ $d + $e + $f == 15,
+ $g + $h + $i == 15,
+ $a + $d + $g == 15,
+ $b + $e + $h == 15,
+ $c + $f + $i == 15,
+ $a + $e + $i == 15,
+ $c + $e + $g == 15,
+ )
+ }
+);
+
+for @magic-squares -> @m {
+ print-magic-square(@m);
+}
+
+sub print-magic-square (@m) {
+ say "+-----+";
+ say "|" ~ @m[0,1,2].join(" ") ~ "|";
+ say "|" ~ @m[3,4,5].join(" ") ~ "|";
+ say "|" ~ @m[6,7,8].join(" ") ~ "|";
+ say "+-----+";
+}