Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 130 additions & 0 deletions challenge-016/kian-meng-ang/perl5/ch-1.pl
Original file line number Diff line number Diff line change
@@ -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.