aboutsummaryrefslogtreecommitdiff
path: root/challenge-016
diff options
context:
space:
mode:
authorKian-Meng, Ang <kianmeng@cpan.org>2019-07-15 00:45:21 +0800
committerKian-Meng, Ang <kianmeng@cpan.org>2019-07-15 00:46:28 +0800
commit200ffd9ad35d0be8459722e5536462f7d2e2a0db (patch)
tree4c0810bdf796f7c3c6ef7cdebb1eebff032e93f2 /challenge-016
parentab69b13598516fd6ed6fa148f8bd33dbddd82929 (diff)
downloadperlweeklychallenge-club-200ffd9ad35d0be8459722e5536462f7d2e2a0db.tar.gz
perlweeklychallenge-club-200ffd9ad35d0be8459722e5536462f7d2e2a0db.tar.bz2
perlweeklychallenge-club-200ffd9ad35d0be8459722e5536462f7d2e2a0db.zip
Add task #1 solution
Diffstat (limited to 'challenge-016')
-rw-r--r--challenge-016/kian-meng-ang/perl5/ch-1.pl130
1 files changed, 130 insertions, 0 deletions
diff --git a/challenge-016/kian-meng-ang/perl5/ch-1.pl b/challenge-016/kian-meng-ang/perl5/ch-1.pl
new file mode 100644
index 0000000000..afd6acc14b
--- /dev/null
+++ b/challenge-016/kian-meng-ang/perl5/ch-1.pl
@@ -0,0 +1,130 @@
+#!/usr/bin/env perl
+# vi:et:sw=4 ts=4 ft=perl
+
+use strict;
+use warnings;
+use utf8;
+use feature qw(say);
+
+my ($p, $s, $ls, $ng) = (100, 0, 0, 0);
+my $fmt = '%-3s %-3s %-10s %-20s %-10s';
+
+say sprintf $fmt, 'Nth', '%', 'Graph', 'Slice', 'Pie Left';
+
+foreach my $g (1..100) {
+ $s = $p * $g / 100;
+ $p -= $s;
+ if ($s > $ls) { $ls = $s; $ng = $g; }
+ say sprintf $fmt, $g, $g, '.' x int($s), $s, $p;
+}
+
+say "\nGuest no $ng gets the largest piece ($ls) of pie.";
+
+1;
+
+__END__
+$perl ch-1.pl
+
+Nth % Graph Slice Pie Left
+1 1 . 1 99
+2 2 . 1.98 97.02
+3 3 .. 2.9106 94.1094
+4 4 ... 3.764376 90.345024
+5 5 .... 4.5172512 85.8277728
+6 6 ..... 5.149666368 80.678106432
+7 7 ..... 5.64746745024 75.03063898176
+8 8 ...... 6.0024511185408 69.0281878632192
+9 9 ...... 6.21253690768973 62.8156509555295
+10 10 ...... 6.28156509555295 56.5340858599765
+11 11 ...... 6.21874944459742 50.3153364153791
+12 12 ...... 6.03784036984549 44.2774960455336
+13 13 ..... 5.75607448591937 38.5214215596142
+14 14 ..... 5.39299901834599 33.1284225412682
+15 15 .... 4.96926338119024 28.159159160078
+16 16 .... 4.50546546561248 23.6536936944655
+17 17 .... 4.02112792805914 19.6325657664064
+18 18 ... 3.53386183795315 16.0987039284532
+19 19 ... 3.05875374640611 13.0399501820471
+20 20 .. 2.60799003640942 10.4319601456377
+21 21 .. 2.19071163058392 8.24124851505378
+22 22 . 1.81307467331183 6.42817384174195
+23 23 . 1.47847998360065 4.9496938581413
+24 24 . 1.18792652595391 3.76176733218739
+25 25 0.940441833046847 2.82132549914054
+26 26 0.733544629776541 2.087780869364
+27 27 0.56370083472828 1.52408003463572
+28 28 0.426742409698002 1.09733762493772
+29 29 0.318227911231938 0.77910971370578
+30 30 0.233732914111734 0.545376799594046
+31 31 0.169066807874154 0.376309991719892
+32 32 0.120419197350365 0.255890794369526
+33 33 0.0844439621419437 0.171446832227583
+34 34 0.0582919229573781 0.113154909270205
+35 35 0.0396042182445716 0.073550691025633
+36 36 0.0264782487692279 0.0470724422564051
+37 37 0.0174168036348699 0.0296556386215352
+38 38 0.0112691426761834 0.0183864959453518
+39 39 0.00717073341868722 0.0112157625266646
+40 40 0.00448630501066585 0.00672945751599877
+41 41 0.0027590775815595 0.00397037993443928
+42 42 0.0016675595724645 0.00230282036197478
+43 43 0.000990212755649156 0.00131260760632562
+44 44 0.000577547346783275 0.00073506025954235
+45 45 0.000330777116794057 0.000404283142748292
+46 46 0.000185970245664214 0.000218312897084078
+47 47 0.000102607061629517 0.000115705835454561
+48 48 5.55388010181894e-05 6.01670344363719e-05
+49 49 2.94818468738222e-05 3.06851875625497e-05
+50 50 1.53425937812748e-05 1.53425937812748e-05
+51 51 7.82472282845016e-06 7.51787095282466e-06
+52 52 3.90929289546883e-06 3.60857805735584e-06
+53 53 1.91254637039859e-06 1.69603168695724e-06
+54 54 9.15857110956912e-07 7.80174576000333e-07
+55 55 4.29096016800183e-07 3.5107855920015e-07
+56 56 1.96603993152084e-07 1.54474566048066e-07
+57 57 8.80505026473975e-08 6.64240634006683e-08
+58 58 3.85259567723876e-08 2.78981066282807e-08
+59 59 1.64598829106856e-08 1.14382237175951e-08
+60 60 6.86293423055705e-09 4.57528948703803e-09
+61 61 2.7909265870932e-09 1.78436289994483e-09
+62 62 1.1063049979658e-09 6.78057901979037e-10
+63 63 4.27176478246793e-10 2.50881423732244e-10
+64 64 1.60564111188636e-10 9.03173125436077e-11
+65 65 5.8706253153345e-11 3.16110593902627e-11
+66 66 2.08632991975734e-11 1.07477601926893e-11
+67 67 7.20099932910184e-12 3.54676086358747e-12
+68 68 2.41179738723948e-12 1.13496347634799e-12
+69 69 7.83124798680114e-13 3.51838677667877e-13
+70 70 2.46287074367514e-13 1.05551603300363e-13
+71 71 7.49416383432579e-14 3.06099649571053e-14
+72 72 2.20391747691158e-14 8.57079018798949e-15
+73 73 6.25667683723233e-15 2.31411335075716e-15
+74 74 1.7124438795603e-15 6.01669471196863e-16
+75 75 4.51252103397647e-16 1.50417367799216e-16
+76 76 1.14317199527404e-16 3.61001682718118e-17
+77 77 2.7797129569295e-17 8.30303870251671e-18
+78 78 6.47637018796303e-18 1.82666851455368e-18
+79 79 1.4430681264974e-18 3.83600388056272e-19
+80 80 3.06880310445017e-19 7.67200776112544e-20
+81 81 6.2143262865116e-20 1.45768147461383e-20
+82 82 1.19529880918334e-20 2.6238266543049e-21
+83 83 2.17777612307307e-21 4.46050531231833e-22
+84 84 3.7468244623474e-22 7.13680849970933e-23
+85 85 6.06628722475293e-23 1.0705212749564e-23
+86 86 9.20648296462504e-24 1.49872978493896e-24
+87 87 1.30389491289689e-24 1.94834872042065e-25
+88 88 1.71454687397017e-25 2.33801846450478e-26
+89 89 2.08083643340925e-26 2.57182031095525e-27
+90 90 2.31463827985973e-27 2.57182031095525e-28
+91 91 2.34035648296928e-28 2.31463827985973e-29
+92 92 2.12946721747095e-29 1.85171062388778e-30
+93 93 1.72209088021564e-30 1.29619743672145e-31
+94 94 1.21842559051816e-31 7.77718462032867e-33
+95 95 7.38832538931224e-33 3.88859231016434e-34
+96 96 3.73304861775777e-34 1.55543692406574e-35
+97 97 1.50877381634377e-35 4.66631077219721e-37
+98 98 4.57298455675327e-37 9.33262154439446e-39
+99 99 9.23929532895052e-39 9.33262154439444e-41
+100 100 9.33262154439444e-41 0
+
+Guest no 10 gets the largest piece (6.28156509555295) of pie.