diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2023-01-14 10:15:27 -0500 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2023-01-14 10:15:27 -0500 |
| commit | aaeb3573bc0a3f94d54245276d72250e088f8f0f (patch) | |
| tree | e09e528c55d119481ba61187a1e2a66bd6952e10 | |
| parent | 13e4a2c007d7a0aac2bd1b8a48aa28003d772dc5 (diff) | |
| download | perlweeklychallenge-club-aaeb3573bc0a3f94d54245276d72250e088f8f0f.tar.gz perlweeklychallenge-club-aaeb3573bc0a3f94d54245276d72250e088f8f0f.tar.bz2 perlweeklychallenge-club-aaeb3573bc0a3f94d54245276d72250e088f8f0f.zip | |
Challenge 199 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-199/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-199/jaldhar-h-vyas/perl/ch-1.pl | 16 | ||||
| -rwxr-xr-x | challenge-199/jaldhar-h-vyas/perl/ch-2.pl | 37 | ||||
| -rwxr-xr-x | challenge-199/jaldhar-h-vyas/raku/ch-1.raku | 15 | ||||
| -rwxr-xr-x | challenge-199/jaldhar-h-vyas/raku/ch-2.raku | 22 |
5 files changed, 91 insertions, 0 deletions
diff --git a/challenge-199/jaldhar-h-vyas/blog.txt b/challenge-199/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..f57dc249d5 --- /dev/null +++ b/challenge-199/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2023/01/perl_weekly_challenge_week_199.html
\ No newline at end of file diff --git a/challenge-199/jaldhar-h-vyas/perl/ch-1.pl b/challenge-199/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..fe2c5a563b --- /dev/null +++ b/challenge-199/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +my @list = @ARGV; +my @goodpairs; + +for my $i (0 .. scalar @list - 1) { + for my $j ($i + 1 .. scalar @list - 1) { + if ($list[$j] == $list[$i]) { + push @goodpairs, [$i, $j]; + } + } +} + +say scalar @goodpairs; diff --git a/challenge-199/jaldhar-h-vyas/perl/ch-2.pl b/challenge-199/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..542d5c0783 --- /dev/null +++ b/challenge-199/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl +use 5.030; +use warnings; +use English; +use Getopt::Long; + +sub usage() { + say <<"-USAGE-"; + Usage: + $PROGRAM_NAME [-x[=Int]] [-y[=Int]] [-z[=Int]] [<array> ...] +-USAGE- + exit(0); +} + +my @goodtriplets; +my ($x, $y, $z); +my @array; + +GetOptions("x=i" => \$x, "y=i" => \$y, "z=i" => \$z, '<>' => sub { push @array, shift; }); +for ($x, $y, $z) { + defined($_) || usage() +}; +scalar @array || usage(); + +for my $i (0 .. scalar @array - 1) { + for my $j ($i + 1 .. scalar @array - 1) { + for my $k ($j + 1 .. scalar @array - 1) { + if ((abs($array[$i] - $array[$j]) <= $x) && + (abs($array[$j] - $array[$k]) <= $y) && + (abs($array[$i] - $array[$k]) <= $z)) { + push @goodtriplets, [$i, $j, $k]; + } + } + } +} + +say scalar @goodtriplets; diff --git a/challenge-199/jaldhar-h-vyas/raku/ch-1.raku b/challenge-199/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..c5ac4f5c50 --- /dev/null +++ b/challenge-199/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,15 @@ +#!/usr/bin/raku + +sub MAIN(*@list) { + my @goodpairs; + + for 0 .. @list.end -> $i { + for $i ^.. @list.end -> $j { + if @list[$j] == @list[$i] { + @goodpairs.push(($i, $j)); + } + } + } + + @goodpairs.elems.say; +}
\ No newline at end of file diff --git a/challenge-199/jaldhar-h-vyas/raku/ch-2.raku b/challenge-199/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..f484001f92 --- /dev/null +++ b/challenge-199/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,22 @@ +#!/usr/bin/raku + +sub MAIN( + Int :$x, Int :$y, Int :$z, *@array + where { defined $x && defined $y && defined $z && @array.elems } +) { + my @goodtriplets; + + for 0 .. @array.end -> $i { + for $i ^.. @array.end -> $j { + for $j ^.. @array.end -> $k { + if (@array[$i] - @array[$j]).abs <= $x && + (@array[$j] - @array[$k]).abs <= $y && + (@array[$i] - @array[$k]).abs <= $z { + @goodtriplets.push(@array[$i,$j,$k]); + } + } + } + } + + @goodtriplets.elems.say; +}
\ No newline at end of file |
