diff options
| author | Adam Russell <adamcrussell@outlook.com> | 2025-05-10 16:01:21 -0400 |
|---|---|---|
| committer | Adam Russell <adamcrussell@outlook.com> | 2025-05-10 16:01:21 -0400 |
| commit | 2c6d46fba7dc3e812b7decb8f88265c92b4adb24 (patch) | |
| tree | 29b06037396aece7d9a5f8f5389470c98100348d | |
| parent | 58896b28850ded89f783c8d43daef1d1e5751349 (diff) | |
| download | perlweeklychallenge-club-2c6d46fba7dc3e812b7decb8f88265c92b4adb24.tar.gz perlweeklychallenge-club-2c6d46fba7dc3e812b7decb8f88265c92b4adb24.tar.bz2 perlweeklychallenge-club-2c6d46fba7dc3e812b7decb8f88265c92b4adb24.zip | |
initial commit
| -rw-r--r-- | challenge-320/adam-russell/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-320/adam-russell/perl/ch-1.pl | 23 | ||||
| -rw-r--r-- | challenge-320/adam-russell/perl/ch-2.pl | 27 |
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; +} + |
