diff options
| -rw-r--r-- | challenge-056/mark-anderson/perl/ch-1.pl | 19 | ||||
| -rw-r--r-- | challenge-056/mark-anderson/raku/ch-1.p6 | 13 |
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-056/mark-anderson/perl/ch-1.pl b/challenge-056/mark-anderson/perl/ch-1.pl new file mode 100644 index 0000000000..046ca91960 --- /dev/null +++ b/challenge-056/mark-anderson/perl/ch-1.pl @@ -0,0 +1,19 @@ +#!/usr/bin/env perl +use Modern::Perl; +use Algorithm::Combinatorics 'combinations'; +use List::Util 'all'; + +# Usage: perl ch-1.pl @N $k +# Example: perl ch-1.pl 2 7 9 2 +# Output: 2,1 + +die "Usage: perl ch-1.pl \@N \$k" unless all { /\d/ } @ARGV; + +my $k = pop @ARGV; + +my $combo = combinations([keys @ARGV], 2); + +while (my $indices = $combo->next) { + my ($i, $j) = $indices->@*; + say "$j,$i" if $ARGV[$j] - $ARGV[$i] == $k; +} diff --git a/challenge-056/mark-anderson/raku/ch-1.p6 b/challenge-056/mark-anderson/raku/ch-1.p6 new file mode 100644 index 0000000000..bb05780ff9 --- /dev/null +++ b/challenge-056/mark-anderson/raku/ch-1.p6 @@ -0,0 +1,13 @@ +#!/usr/bin/env raku + +# Usage: raku ch-1.p6 @N $k +# Example: raku ch-1.p6 2 7 9 2 +# Output: 2,1 + +sub MAIN(*@ARGV where @ARGV.all ~~ /\d/) { + my $k = @ARGV.pop; + + for @ARGV.keys.combinations: 2 -> ($i, $j) { + say "$j,$i" if @ARGV[$j] - @ARGV[$i] == $k; + } +} |
