aboutsummaryrefslogtreecommitdiff
path: root/challenge-089
diff options
context:
space:
mode:
authorWalt Mankowski <waltman@pobox.com>2020-12-01 19:31:54 -0500
committerWalt Mankowski <waltman@pobox.com>2020-12-01 19:31:54 -0500
commit8d3d52cae9fa4bb4d6c3bf9f98bad3f7a2a4dfc3 (patch)
tree139513b111955b1f9b3f0f5645a7e93b5abacddc /challenge-089
parent8ee24e8301cd8c63456e24617c3661437cb83054 (diff)
downloadperlweeklychallenge-club-8d3d52cae9fa4bb4d6c3bf9f98bad3f7a2a4dfc3.tar.gz
perlweeklychallenge-club-8d3d52cae9fa4bb4d6c3bf9f98bad3f7a2a4dfc3.tar.bz2
perlweeklychallenge-club-8d3d52cae9fa4bb4d6c3bf9f98bad3f7a2a4dfc3.zip
Perl code for Challenge 89 task 2
Diffstat (limited to 'challenge-089')
-rw-r--r--challenge-089/walt-mankowski/perl/ch-2.pl35
1 files changed, 35 insertions, 0 deletions
diff --git a/challenge-089/walt-mankowski/perl/ch-2.pl b/challenge-089/walt-mankowski/perl/ch-2.pl
new file mode 100644
index 0000000000..850cc370b0
--- /dev/null
+++ b/challenge-089/walt-mankowski/perl/ch-2.pl
@@ -0,0 +1,35 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use feature qw(:5.32);
+use experimental qw(signatures);
+
+# TASK #2 › Magical Matrix
+#
+# Write code to produce a 3x3 magic square
+
+my @m;
+my $m = 3;
+my $r = 0;
+my $c = 1;
+
+# fill in the magic square using the Siamese method
+for my $i (1..9) {
+ $m[$r][$c] = $i;
+ my $r1 = ($r - 1) % $m;
+ my $c1 = ($c + 1) % $m;
+ if (defined $m[$r1][$c1]) {
+ $r = ($r + 1) % $m;
+ } else {
+ $r = $r1;
+ $c = $c1;
+ }
+}
+
+# print the result
+for my $r (0..$m-1) {
+ for my $c (0..$m-1) {
+ print "$m[$r][$c] ";
+ }
+ print "\n";
+}