aboutsummaryrefslogtreecommitdiff
path: root/challenge-016
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2019-07-14 23:42:54 +0100
committerGitHub <noreply@github.com>2019-07-14 23:42:54 +0100
commit68bd98bb1e97a5376eea7c63e909fa419315fde8 (patch)
treeb0caf8908b13525917dc7b536cb68f1d2e57e454 /challenge-016
parentcfbf99f8563009ec54202e94f7ce41fb4b19c194 (diff)
parent35bd37bf4e900cc315a73a4f216c3b8018a1f027 (diff)
downloadperlweeklychallenge-club-68bd98bb1e97a5376eea7c63e909fa419315fde8.tar.gz
perlweeklychallenge-club-68bd98bb1e97a5376eea7c63e909fa419315fde8.tar.bz2
perlweeklychallenge-club-68bd98bb1e97a5376eea7c63e909fa419315fde8.zip
Merge pull request #377 from jaldhar/challenge-016
Challenge 16 Problem 1 by Jaldhar H. Vyas
Diffstat (limited to 'challenge-016')
-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.';