aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2024-09-15 17:32:41 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2024-09-15 18:03:32 -0400
commit7c5057819f44e4dd503fc4b0022fe12428903b92 (patch)
tree6ef13dbf282f7a38e1eec7361b4da9a60e0e3eac
parent3481abe18527126f6dc8e5a5b548f858201bf70d (diff)
downloadperlweeklychallenge-club-7c5057819f44e4dd503fc4b0022fe12428903b92.tar.gz
perlweeklychallenge-club-7c5057819f44e4dd503fc4b0022fe12428903b92.tar.bz2
perlweeklychallenge-club-7c5057819f44e4dd503fc4b0022fe12428903b92.zip
Challenge 286 by Jaldhar H. Vyas.
-rw-r--r--challenge-286/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-286/jaldhar-h-vyas/perl/ch-1.pl10
-rwxr-xr-xchallenge-286/jaldhar-h-vyas/perl/ch-2.pl25
-rwxr-xr-xchallenge-286/jaldhar-h-vyas/raku/ch-1.raku3
-rwxr-xr-xchallenge-286/jaldhar-h-vyas/raku/ch-2.raku20
5 files changed, 59 insertions, 0 deletions
diff --git a/challenge-286/jaldhar-h-vyas/blog.txt b/challenge-286/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..b5318fb8f7
--- /dev/null
+++ b/challenge-286/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2024/09/perl_weekly_challenge_week_286.html
diff --git a/challenge-286/jaldhar-h-vyas/perl/ch-1.pl b/challenge-286/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..989d31ea5e
--- /dev/null
+++ b/challenge-286/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,10 @@
+#!/usr/bin/perl
+use v5.38;
+
+open my $FILE, '<', $0;
+local $/ = undef;
+my $program = <$FILE>;
+close $FILE;
+$program =~ s/^.+\n\n//msx;
+my @words = split /\s+/, $program;
+say $words[int rand scalar @words]; \ No newline at end of file
diff --git a/challenge-286/jaldhar-h-vyas/perl/ch-2.pl b/challenge-286/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..69888f2e6e
--- /dev/null
+++ b/challenge-286/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+use v5.38;
+
+sub max($first, $second) {
+ return $first > $second ? $first : $second;
+}
+
+sub min($first, $second) {
+ return $first < $second ? $first : $second;
+}
+
+my @ints = @ARGV;
+
+while (scalar @ints > 1) {
+ my @next;
+ for my $i (1 .. scalar @ints - 1) {
+ push @next, $i % 2 == 0
+ ? max($ints[$i- 1], $ints[$i])
+ : min($ints[$i - 1], $ints[$i])
+ ;
+ }
+ @ints = @next;
+}
+
+say $ints[0];
diff --git a/challenge-286/jaldhar-h-vyas/raku/ch-1.raku b/challenge-286/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..7d8cde3cf2
--- /dev/null
+++ b/challenge-286/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,3 @@
+#!/usr/bin/raku
+
+$*PROGRAM-NAME.IO.lines.tail.split(/\x2E/).pick(1).join.say; \ No newline at end of file
diff --git a/challenge-286/jaldhar-h-vyas/raku/ch-2.raku b/challenge-286/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..183a383b95
--- /dev/null
+++ b/challenge-286/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@args
+) {
+ my @ints = @args;
+
+ while (@ints.elems > 1) {
+ my @next;
+ for 1 .. @ints.end -> $i {
+ @next.push($i %% 2
+ ?? (@ints[$i- 1], @ints[$i]).max
+ !! (@ints[$i - 1], @ints[$i]).min
+ );
+ }
+ @ints = @next;
+ }
+
+ say @ints[0];
+}