aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Campbell Smith <pj.campbell.smith@gmail.com>2024-05-07 23:06:32 +0100
committerPeter Campbell Smith <pj.campbell.smith@gmail.com>2024-05-07 23:06:32 +0100
commite82671ebcaa7a36dfd4751fe8c2c5e16d425d682 (patch)
treeb3bea8799f2752303730af1bdb8c248eee3fa988
parent56ecb5995d71ed710da5e103eb89d35e6e450a30 (diff)
downloadperlweeklychallenge-club-e82671ebcaa7a36dfd4751fe8c2c5e16d425d682.tar.gz
perlweeklychallenge-club-e82671ebcaa7a36dfd4751fe8c2c5e16d425d682.tar.bz2
perlweeklychallenge-club-e82671ebcaa7a36dfd4751fe8c2c5e16d425d682.zip
Week 268 - Magic and scrambled numbers
-rw-r--r--challenge-268/peter-campbell-smith/blog.txt1
-rwxr-xr-xchallenge-268/peter-campbell-smith/perl/ch-1.pl25
-rwxr-xr-xchallenge-268/peter-campbell-smith/perl/ch-2.pl30
3 files changed, 56 insertions, 0 deletions
diff --git a/challenge-268/peter-campbell-smith/blog.txt b/challenge-268/peter-campbell-smith/blog.txt
new file mode 100644
index 0000000000..3e87b017ea
--- /dev/null
+++ b/challenge-268/peter-campbell-smith/blog.txt
@@ -0,0 +1 @@
+http://ccgi.campbellsmiths.force9.co.uk/challenge/268
diff --git a/challenge-268/peter-campbell-smith/perl/ch-1.pl b/challenge-268/peter-campbell-smith/perl/ch-1.pl
new file mode 100755
index 0000000000..87f57f2a74
--- /dev/null
+++ b/challenge-268/peter-campbell-smith/perl/ch-1.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+
+# Blog: http://ccgi.campbellsmiths.force9.co.uk/challenge
+
+use v5.26; # The Weekly Challenge - 2024-05-06
+use utf8; # Week 268 - task 1 - Magic number
+use warnings; # Peter Campbell Smith
+binmode STDOUT, ':utf8';
+
+magic_number([3, 7, 5], [9, 5, 7]);
+magic_number([1, 2, 1], [5, 4, 4]);
+magic_number([2], [5]);
+magic_number([9, 10, 11, 12], [2, 1, 0, -1]);
+
+sub magic_number {
+
+ # show input
+ say qq[\nInput: ] . sprintf('@x = (%s), @y = (%s)',
+ join(', ', @{$_[0]}), join(', ', @{$_[1]}));
+
+ # show output
+ say qq[Output: ] .
+ ([sort {$a <=> $b} @{$_[1]}]->[0] -
+ [sort {$a <=> $b} @{$_[0]}]->[0]);
+}
diff --git a/challenge-268/peter-campbell-smith/perl/ch-2.pl b/challenge-268/peter-campbell-smith/perl/ch-2.pl
new file mode 100755
index 0000000000..c80ec8f03d
--- /dev/null
+++ b/challenge-268/peter-campbell-smith/perl/ch-2.pl
@@ -0,0 +1,30 @@
+#!/usr/bin/perl
+
+# Blog: http://ccgi.campbellsmiths.force9.co.uk/challenge
+
+use v5.26; # The Weekly Challenge - 2024-05-06
+use utf8; # Week 268 - task 2 - Number game
+use warnings; # Peter Campbell Smith
+binmode STDOUT, ':utf8';
+
+number_game(2, 5, 3, 4);
+number_game(9, 4, 1, 3, 6, 4, 6, 1);
+number_game(1, 2, 2, 3);
+number_game(1, 7, 6, 0, 2, 3, 5, 7, 1, 3, 9, 3, 4, 7, 7, 2, 0, 8);
+
+sub number_game {
+
+ my ($j, @from, @to);
+
+ # sort the input
+ @from = sort {$a <=> $b} @_;
+
+ # add the input 2 by 2 to the output
+ for ($j = 0; $j < @from; $j += 2) {
+ push @to, $from[$j + 1], $from[$j];
+ }
+
+ # show the answer
+ say sprintf(qq[\nInput: \@ints = (%s)], join(', ', @_));
+ say sprintf(qq[Output: (%s)], join(', ', @to));
+}