aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-02-03 11:02:53 +0000
committerGitHub <noreply@github.com>2025-02-03 11:02:53 +0000
commit910a39136da621648d399b15a2c3d1d20a347ec4 (patch)
treeee50376572b7c794e205bbf28afe4f8c092c7a1f
parent75cad926933996bff61b6684c63344fddbb4ea79 (diff)
parent89ea54d4079d76c281cf46d25f34ce7ef2b08c9b (diff)
downloadperlweeklychallenge-club-910a39136da621648d399b15a2c3d1d20a347ec4.tar.gz
perlweeklychallenge-club-910a39136da621648d399b15a2c3d1d20a347ec4.tar.bz2
perlweeklychallenge-club-910a39136da621648d399b15a2c3d1d20a347ec4.zip
Merge pull request #11521 from jaldhar/challenge-306
Challenge 306 by Jaldhar H. Vyas.
-rw-r--r--challenge-306/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-306/jaldhar-h-vyas/perl/ch-1.pl24
-rwxr-xr-xchallenge-306/jaldhar-h-vyas/perl/ch-2.pl20
-rwxr-xr-xchallenge-306/jaldhar-h-vyas/raku/ch-1.raku15
-rwxr-xr-xchallenge-306/jaldhar-h-vyas/raku/ch-2.raku24
5 files changed, 84 insertions, 0 deletions
diff --git a/challenge-306/jaldhar-h-vyas/blog.txt b/challenge-306/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..8b1d51c033
--- /dev/null
+++ b/challenge-306/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2025/02/perl_weekly_challenge_week_306.html
diff --git a/challenge-306/jaldhar-h-vyas/perl/ch-1.pl b/challenge-306/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..b55e0b10da
--- /dev/null
+++ b/challenge-306/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+use v5.38;
+
+sub sum {
+ my $total;
+ for my $n (@_) {
+ $total += $n;
+ }
+
+ return $total;
+}
+
+my @ints = @ARGV;
+my $sum;
+
+for my $i (1 .. scalar @ints) {
+ if ($i % 2 == 1) {
+ for my $j (0 .. scalar @ints - $i) {
+ $sum += sum(@ints[$j .. $j + $i - 1]);
+ }
+ }
+}
+
+say $sum;
diff --git a/challenge-306/jaldhar-h-vyas/perl/ch-2.pl b/challenge-306/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..54c8824a90
--- /dev/null
+++ b/challenge-306/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+use v5.38;
+
+my @ints = @ARGV;
+
+while (scalar @ints > 1) {
+ @ints = sort { $b <=> $a } @ints;
+
+ my $y = $ints[0];
+ my $x = $ints[1];
+
+ if ($x == $y) {
+ splice @ints, 0, 2;
+ } else {
+ splice @ints, 1, 1;
+ $ints[0] = $y - $x;
+ }
+}
+
+say $ints[0] // 0;
diff --git a/challenge-306/jaldhar-h-vyas/raku/ch-1.raku b/challenge-306/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..35213f31cb
--- /dev/null
+++ b/challenge-306/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@ints
+) {
+ my $sum;
+
+ for 1, 3 ... @ints.elems -> $i {
+ for 0 .. @ints.elems - $i -> $j {
+ $sum += @ints[$j ..^ $j + $i].sum;
+ }
+ }
+
+ say $sum;
+}
diff --git a/challenge-306/jaldhar-h-vyas/raku/ch-2.raku b/challenge-306/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..992da36f22
--- /dev/null
+++ b/challenge-306/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@args
+) {
+ my @ints = @args;
+
+ while @ints.elems > 1 {
+ @ints = @ints.sort({ $^b <=> $^a });
+
+ my $y = @ints[0];
+ my $x = @ints[1];
+
+ if $x == $y {
+ @ints.splice(0, 2);
+ } else {
+ @ints.splice(1, 1);
+ @ints[0] = $y - $x;
+ }
+ }
+
+ say @ints[0] // 0;
+}
+