aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Russell <adamcrussell@outlook.com>2025-05-10 16:01:21 -0400
committerAdam Russell <adamcrussell@outlook.com>2025-05-10 16:01:21 -0400
commit2c6d46fba7dc3e812b7decb8f88265c92b4adb24 (patch)
tree29b06037396aece7d9a5f8f5389470c98100348d
parent58896b28850ded89f783c8d43daef1d1e5751349 (diff)
downloadperlweeklychallenge-club-2c6d46fba7dc3e812b7decb8f88265c92b4adb24.tar.gz
perlweeklychallenge-club-2c6d46fba7dc3e812b7decb8f88265c92b4adb24.tar.bz2
perlweeklychallenge-club-2c6d46fba7dc3e812b7decb8f88265c92b4adb24.zip
initial commit
-rw-r--r--challenge-320/adam-russell/blog.txt1
-rw-r--r--challenge-320/adam-russell/perl/ch-1.pl23
-rw-r--r--challenge-320/adam-russell/perl/ch-2.pl27
3 files changed, 51 insertions, 0 deletions
diff --git a/challenge-320/adam-russell/blog.txt b/challenge-320/adam-russell/blog.txt
new file mode 100644
index 0000000000..e567a8bf44
--- /dev/null
+++ b/challenge-320/adam-russell/blog.txt
@@ -0,0 +1 @@
+http://rabbitfarm.com/cgi-bin/blosxom/perl/2025/05/10
diff --git a/challenge-320/adam-russell/perl/ch-1.pl b/challenge-320/adam-russell/perl/ch-1.pl
new file mode 100644
index 0000000000..40e4e23878
--- /dev/null
+++ b/challenge-320/adam-russell/perl/ch-1.pl
@@ -0,0 +1,23 @@
+
+
+use v5.40;
+
+
+ sub maximum_count{
+ my @numbers = @_;
+
+ my $negatives = 0 + grep {$_ < 0} @numbers;
+
+
+ my $positives = 0 + grep {$_ > 0} @numbers;
+
+ return (sort {$b <=> $a} ($positives, $negatives))[0];
+ }
+
+
+MAIN:{
+ say maximum_count -3, -2, -1, 1, 2, 3;
+ say maximum_count -2, -1, 0, 0, 1;
+ say maximum_count 1, 2, 3, 4;
+}
+
diff --git a/challenge-320/adam-russell/perl/ch-2.pl b/challenge-320/adam-russell/perl/ch-2.pl
new file mode 100644
index 0000000000..432cee8e70
--- /dev/null
+++ b/challenge-320/adam-russell/perl/ch-2.pl
@@ -0,0 +1,27 @@
+
+
+use v5.40;
+
+
+ sub sum_difference{
+ my @numbers = @_;
+
+ my @digits;
+ do{
+ push @digits, split //, $_;
+ } for @numbers;
+ my $digit_sum = unpack(q/%32I*/, pack(q/I*/, @digits));
+
+
+ my $element_sum = unpack(q/%32I*/, pack(q/I*/, @numbers));
+
+ return abs($digit_sum - $element_sum);
+ }
+
+
+MAIN:{
+ say sum_difference 1, 23, 4, 5;
+ say sum_difference 1, 2, 3, 4, 5;
+ say sum_difference 1, 2, 34;
+}
+