diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-08-05 23:41:23 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-05 23:41:23 +0100 |
| commit | 0d7eb902630448348f24151a0ac111801a73edc4 (patch) | |
| tree | 81dcfab5f38c102b40dc5e4f9399c91fa7c7ec9d | |
| parent | 8c2030c4be280d8b25cd980b7f439482d2962ec1 (diff) | |
| parent | 9ae4dac588a235094690cbcbded3502206f49915 (diff) | |
| download | perlweeklychallenge-club-0d7eb902630448348f24151a0ac111801a73edc4.tar.gz perlweeklychallenge-club-0d7eb902630448348f24151a0ac111801a73edc4.tar.bz2 perlweeklychallenge-club-0d7eb902630448348f24151a0ac111801a73edc4.zip | |
Merge pull request #12475 from jaldhar/challenge-333
Challenge 333 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-333/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-333/jaldhar-h-vyas/perl/ch-1.pl | 28 | ||||
| -rwxr-xr-x | challenge-333/jaldhar-h-vyas/perl/ch-2.sh | 3 | ||||
| -rwxr-xr-x | challenge-333/jaldhar-h-vyas/raku/ch-1.raku | 21 | ||||
| -rwxr-xr-x | challenge-333/jaldhar-h-vyas/raku/ch-2.sh | 3 |
5 files changed, 56 insertions, 0 deletions
diff --git a/challenge-333/jaldhar-h-vyas/blog.txt b/challenge-333/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..1fe4354661 --- /dev/null +++ b/challenge-333/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2025/08/perl_weekly_challenge_week_333.html diff --git a/challenge-333/jaldhar-h-vyas/perl/ch-1.pl b/challenge-333/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..8adc453571 --- /dev/null +++ b/challenge-333/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +my @list = @ARGV; + +if (scalar @list < 3) { + say "Need atleast 3 points"; + exit; +} + +my @coords = map { [split /,/] } @list; + +my ($x0, $y0) = @{$coords[0]}; +my ($x1, $y1) = @{$coords[1]}; +my $dx = $x1 - $x0; +my $dy = $y1 - $y0; + +for my $coord (@coords[2 .. $#coords]) { + my ($x, $y) = @{$coord}; + + if ($dx * ($y - $y0) != $dy * ($x - $x0)) { + say "False"; + exit; + } +} +say "True"; + diff --git a/challenge-333/jaldhar-h-vyas/perl/ch-2.sh b/challenge-333/jaldhar-h-vyas/perl/ch-2.sh new file mode 100755 index 0000000000..0b09cc76ae --- /dev/null +++ b/challenge-333/jaldhar-h-vyas/perl/ch-2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +perl -E 'say q{(},(join q{, },(map{$_?$_:(0,0)}@ARGV)[0..$#ARGV]),q{)}' "$@" diff --git a/challenge-333/jaldhar-h-vyas/raku/ch-1.raku b/challenge-333/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..64877f0ff7 --- /dev/null +++ b/challenge-333/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,21 @@ +#!/usr/bin/raku + +sub MAIN( + *@list where { @list.elems > 2 } #= list of coordinates in the form x,y +) { + my @coords = @list».split(',')».Int; + + my ($x0, $y0) = @coords[0]; + my ($x1, $y1) = @coords[1]; + my $dx = $x1 - $x0; + my $dy = $y1 - $y0; + + for @coords[2..*] -> ($x, $y) { + if ($dx * ($y - $y0) != $dy * ($x - $x0)) { + say "False"; + exit; + } + } + + say "True"; +}
\ No newline at end of file diff --git a/challenge-333/jaldhar-h-vyas/raku/ch-2.sh b/challenge-333/jaldhar-h-vyas/raku/ch-2.sh new file mode 100755 index 0000000000..b13ccd96c8 --- /dev/null +++ b/challenge-333/jaldhar-h-vyas/raku/ch-2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e 'say q{(},@*ARGS.map({$_+0??$_!!|(0,0)})[^@*ARGS.elems].join(q{, }),q{)}' "$@" |
