aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Sommrey <28217714+jo-37@users.noreply.github.com>2023-03-15 18:06:45 +0100
committerJörg Sommrey <28217714+jo-37@users.noreply.github.com>2023-03-23 18:03:41 +0100
commit99b63fe9ce352e50645018e03c8d6156cd166b01 (patch)
treed5387d8c55ea6acddaf79f8c287aedc2a4e814db
parentda8b19bdb5ac775e6091f8ebf934ed1266503ab7 (diff)
downloadperlweeklychallenge-club-99b63fe9ce352e50645018e03c8d6156cd166b01.tar.gz
perlweeklychallenge-club-99b63fe9ce352e50645018e03c8d6156cd166b01.tar.bz2
perlweeklychallenge-club-99b63fe9ce352e50645018e03c8d6156cd166b01.zip
Challenge 016 task 1
-rwxr-xr-xchallenge-016/jo-37/perl/ch-1.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-016/jo-37/perl/ch-1.pl b/challenge-016/jo-37/perl/ch-1.pl
new file mode 100755
index 0000000000..93fcc919d1
--- /dev/null
+++ b/challenge-016/jo-37/perl/ch-1.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use v5.16;
+use warnings;
+use List::Gen;
+use List::UtilsBy 'max_by';
+
+# Build a generator for 100 pie pieces.
+my $parts = do {
+ my $pie = 1;
+ <1..100>->map(sub {
+ my $part = $pie * $_ / 100;
+ $pie -= $part;
+ $part;
+ }
+ );
+}->cache;
+
+# Find the 1-based index of the maximum.
+say scalar max_by {$parts->($_ - 1)} 1 .. 100;