aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.';