From 35bd37bf4e900cc315a73a4f216c3b8018a1f027 Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Sun, 14 Jul 2019 18:28:01 -0400 Subject: Challenge 16 Problem 1 by Jaldhar H. Vyas --- challenge-016/jaldhar-h-vyas/perl5/ch-1.pl | 16 ++++++++++++++++ challenge-016/jaldhar-h-vyas/perl6/ch-1.p6 | 13 +++++++++++++ 2 files changed, 29 insertions(+) create mode 100755 challenge-016/jaldhar-h-vyas/perl5/ch-1.pl create mode 100755 challenge-016/jaldhar-h-vyas/perl6/ch-1.p6 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.'; -- cgit