aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2019-07-14 18:28:01 -0400
committerJaldhar H. Vyas <jaldhar@braincells.com>2019-07-14 18:28:01 -0400
commit35bd37bf4e900cc315a73a4f216c3b8018a1f027 (patch)
treec7abb41a206a7454b0ff0c0e549ec422326f6f54
parent6c8c0049d85d59297d0875b3cf614205d981c6d5 (diff)
downloadperlweeklychallenge-club-35bd37bf4e900cc315a73a4f216c3b8018a1f027.tar.gz
perlweeklychallenge-club-35bd37bf4e900cc315a73a4f216c3b8018a1f027.tar.bz2
perlweeklychallenge-club-35bd37bf4e900cc315a73a4f216c3b8018a1f027.zip
Challenge 16 Problem 1 by Jaldhar H. Vyas
-rwxr-xr-xchallenge-016/jaldhar-h-vyas/perl5/ch-1.pl16
-rwxr-xr-xchallenge-016/jaldhar-h-vyas/perl6/ch-1.p613
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-016/jaldhar-h-vyas/perl5/ch-1.pl b/challenge-016/jaldhar-h-vyas/perl5/ch-1.pl
new file mode 100755
index 0000000000..36b54c0b35
--- /dev/null
+++ b/challenge-016/jaldhar-h-vyas/perl5/ch-1.pl
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+use 5.010;
+
+my %shares;
+my $pie = 100.0;
+for my $guest (1 .. 100) {
+ my $share = $pie * ($guest * 0.01);
+ $shares{$guest} = $share;
+ $pie -= $share;
+}
+
+my $top = (reverse sort { $shares{$a} <=> $shares{$b} } keys %shares)[0];
+
+say "Guest $top gets ", sprintf("%0.2f", $shares{$top}), '% of the pie.';
diff --git a/challenge-016/jaldhar-h-vyas/perl6/ch-1.p6 b/challenge-016/jaldhar-h-vyas/perl6/ch-1.p6
new file mode 100755
index 0000000000..1dd07a146c
--- /dev/null
+++ b/challenge-016/jaldhar-h-vyas/perl6/ch-1.p6
@@ -0,0 +1,13 @@
+#!/usr/bin/perl6
+
+my ($topguest, $topshare) = (1 .. 100)
+ .map({
+ state $pie = 100.0;
+ my $share = $pie * ($_ * 0.01);
+ $pie -= $share;
+ $_ => $share;
+ })
+ .max( *.value )
+ .kv;
+
+say "Guest $topguest gets ", sprintf("%0.2f", $topshare), '% of the pie.';