diff options
| author | Kang-min Liu <gugod@gugod.org> | 2020-12-02 09:04:16 +0900 |
|---|---|---|
| committer | Kang-min Liu <gugod@gugod.org> | 2020-12-02 09:04:23 +0900 |
| commit | d706e9b39ca9a47f70cfcb39bb5ab0a5e3c95595 (patch) | |
| tree | b58726d2d16866c2c5633a29c2857ced9266897c | |
| parent | 23333dc2ae7acca2680b0739b75c4c8b3f4b861a (diff) | |
| download | perlweeklychallenge-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.raku | 27 |
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 "+-----+"; +} |
