aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKang-min Liu <gugod@gugod.org>2020-12-02 09:04:16 +0900
committerKang-min Liu <gugod@gugod.org>2020-12-02 09:04:23 +0900
commitd706e9b39ca9a47f70cfcb39bb5ab0a5e3c95595 (patch)
treeb58726d2d16866c2c5633a29c2857ced9266897c
parent23333dc2ae7acca2680b0739b75c4c8b3f4b861a (diff)
downloadperlweeklychallenge-club-d706e9b39ca9a47f70cfcb39bb5ab0a5e3c95595.tar.gz
perlweeklychallenge-club-d706e9b39ca9a47f70cfcb39bb5ab0a5e3c95595.tar.bz2
perlweeklychallenge-club-d706e9b39ca9a47f70cfcb39bb5ab0a5e3c95595.zip
a solution for magic square
-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 "+-----+";
+}