diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-09-16 22:44:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-16 22:44:43 +0100 |
| commit | adfaa13a22f58f66af6788c272bfaecfc6afb5d7 (patch) | |
| tree | d8d49e737711a2c77c3a7b07a360f36d6f901917 | |
| parent | fe361ee89d238b53b5b93c43e69abb92b8686d41 (diff) | |
| parent | e2d13173f02d5f5feb8eb833e2988e7a84fad060 (diff) | |
| download | perlweeklychallenge-club-adfaa13a22f58f66af6788c272bfaecfc6afb5d7.tar.gz perlweeklychallenge-club-adfaa13a22f58f66af6788c272bfaecfc6afb5d7.tar.bz2 perlweeklychallenge-club-adfaa13a22f58f66af6788c272bfaecfc6afb5d7.zip | |
Merge pull request #12690 from zapwai/branch-for-339
Week 339
| -rw-r--r-- | challenge-339/zapwai/perl/ch-1.pl | 48 | ||||
| -rw-r--r-- | challenge-339/zapwai/perl/ch-2.pl | 27 |
2 files changed, 75 insertions, 0 deletions
diff --git a/challenge-339/zapwai/perl/ch-1.pl b/challenge-339/zapwai/perl/ch-1.pl new file mode 100644 index 0000000000..73ae74679f --- /dev/null +++ b/challenge-339/zapwai/perl/ch-1.pl @@ -0,0 +1,48 @@ +use v5.38; +sub proc(@ints) { + say "Input: @ints"; + + my $max = 0; + + for my $i (0 .. $#ints - 1) { + for my $j ($i + 1 .. $#ints) { + my $a = $ints[$i]; + my $b = $ints[$j]; + + my $prod1 = $a*$b; + + my @left; + for my $k (0 .. $#ints) { + push @left, $ints[$k] unless ($k == $i || $k == $j); + } + + for my $I (0 .. $#left - 1) { + for my $J ($I + 1 .. $#left) { + my $c = $left[$I]; + my $d = $left[$J]; + my $prod2 = $c*$d; + + # If diff is max, set and continue + my $diff = $prod1 - $prod2; + if ($diff > $max) { + $max = $diff; + } + } + } + } + } + + say "Output: $max"; +} + +my @ints = (5,9,3,4,6); +proc(@ints); + +@ints = (1,-2,3,-4); +proc(@ints); +@ints = (-3, -1, -2, -4); +proc(@ints); +@ints = (10, 2, 0, 5, 1); +proc(@ints); +@ints = (7,8,9,10,10); +proc(@ints); diff --git a/challenge-339/zapwai/perl/ch-2.pl b/challenge-339/zapwai/perl/ch-2.pl new file mode 100644 index 0000000000..adf40307d2 --- /dev/null +++ b/challenge-339/zapwai/perl/ch-2.pl @@ -0,0 +1,27 @@ +use v5.38; + +sub proc(@g) { + say "Input: @g"; + my $lvl; + my $max = $g[0]; + for my $val (@g) { + $lvl += $val; + if ($lvl > $max) { + $max = $lvl; + } + } + $max = 0 if ($max < 0); + say "Output: $max"; +} + +my @gain = (-5,1,5,-9,2); +proc(@gain); +@gain = (10,10,10,-25); +proc(@gain); +@gain = (3,-4,2,5,-6,1); +proc(@gain); +@gain = (-1, -2, -3, -4); +proc(@gain); +@gain = (-10, 15, 5); +proc(@gain); + |
