diff options
| author | Peter Campbell Smith <pj.campbell.smith@gmail.com> | 2024-05-07 23:06:32 +0100 |
|---|---|---|
| committer | Peter Campbell Smith <pj.campbell.smith@gmail.com> | 2024-05-07 23:06:32 +0100 |
| commit | e82671ebcaa7a36dfd4751fe8c2c5e16d425d682 (patch) | |
| tree | b3bea8799f2752303730af1bdb8c248eee3fa988 | |
| parent | 56ecb5995d71ed710da5e103eb89d35e6e450a30 (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rwxr-xr-x | challenge-268/peter-campbell-smith/perl/ch-1.pl | 25 | ||||
| -rwxr-xr-x | challenge-268/peter-campbell-smith/perl/ch-2.pl | 30 |
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)); +} |
