aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2019-07-09 13:28:58 +0100
committerGitHub <noreply@github.com>2019-07-09 13:28:58 +0100
commitd5c5ccb22c5e1eed2875bf1af214e2dfb2fc6b6e (patch)
tree59abb82f2b06fc2ae474dd469a6351534db614e0
parent53b7c0ebd33ec3785a47574dc8395273df95a707 (diff)
parent07fd19d2dd5b19dd54693b6b15a7abd6c2ea3263 (diff)
downloadperlweeklychallenge-club-d5c5ccb22c5e1eed2875bf1af214e2dfb2fc6b6e.tar.gz
perlweeklychallenge-club-d5c5ccb22c5e1eed2875bf1af214e2dfb2fc6b6e.tar.bz2
perlweeklychallenge-club-d5c5ccb22c5e1eed2875bf1af214e2dfb2fc6b6e.zip
Merge pull request #356 from threadless-screw/threadless-wk16ch1p6
Create ch-1.p6
-rw-r--r--challenge-016/ozzy/perl6/ch-1.p614
1 files changed, 14 insertions, 0 deletions
diff --git a/challenge-016/ozzy/perl6/ch-1.p6 b/challenge-016/ozzy/perl6/ch-1.p6
new file mode 100644
index 0000000000..047406455c
--- /dev/null
+++ b/challenge-016/ozzy/perl6/ch-1.p6
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl6
+# Pythagoras pie puzzle
+
+sub s ($j) { $j > 0 ?? r($j-1)*($j / 100) !! 0 }; # Mutually recursive share and remainder functions;
+sub r ($k) { $k > 0 ?? r($k-1) - s($k) !! 100 }; # $j and $k represent guest numbers
+
+my @as = 0, { state $j=0; s(++$j) } ... *; # Memory for calculated values, just to speed
+my @ar = 0, { state $k=0; s(++$k) } ... *; #+ things up
+
+my $i=1; # Guest number
+my $m=0; # Guest number associated with biggest share
+
+until @ar[$i-1] < @as[$m] { if @as[$i] > @as[$m] { $m=$i }; $i++ };
+printf "Guest $m takes the biggest piece: %.2f%% of the cake.\n", s($m);