diff options
| -rwxr-xr-x | challenge-016/jaldhar-h-vyas/perl5/ch-1.pl | 16 | ||||
| -rwxr-xr-x | challenge-016/jaldhar-h-vyas/perl6/ch-1.p6 | 13 |
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.'; |
