Skip to content

Commit 517cc15

Browse files
authored
Merge pull request #374 from kianmeng/master
Add task #1 solution
2 parents c617c55 + 200ffd9 commit 517cc15

File tree

1 file changed

+130
-0
lines changed
  • challenge-016/kian-meng-ang/perl5

1 file changed

+130
-0
lines changed
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
#!/usr/bin/env perl
2+
# vi:et:sw=4 ts=4 ft=perl
3+
4+
use strict;
5+
use warnings;
6+
use utf8;
7+
use feature qw(say);
8+
9+
my ($p, $s, $ls, $ng) = (100, 0, 0, 0);
10+
my $fmt = '%-3s %-3s %-10s %-20s %-10s';
11+
12+
say sprintf $fmt, 'Nth', '%', 'Graph', 'Slice', 'Pie Left';
13+
14+
foreach my $g (1..100) {
15+
$s = $p * $g / 100;
16+
$p -= $s;
17+
if ($s > $ls) { $ls = $s; $ng = $g; }
18+
say sprintf $fmt, $g, $g, '.' x int($s), $s, $p;
19+
}
20+
21+
say "\nGuest no $ng gets the largest piece ($ls) of pie.";
22+
23+
1;
24+
25+
__END__
26+
$perl ch-1.pl
27+
28+
Nth % Graph Slice Pie Left
29+
1 1 . 1 99
30+
2 2 . 1.98 97.02
31+
3 3 .. 2.9106 94.1094
32+
4 4 ... 3.764376 90.345024
33+
5 5 .... 4.5172512 85.8277728
34+
6 6 ..... 5.149666368 80.678106432
35+
7 7 ..... 5.64746745024 75.03063898176
36+
8 8 ...... 6.0024511185408 69.0281878632192
37+
9 9 ...... 6.21253690768973 62.8156509555295
38+
10 10 ...... 6.28156509555295 56.5340858599765
39+
11 11 ...... 6.21874944459742 50.3153364153791
40+
12 12 ...... 6.03784036984549 44.2774960455336
41+
13 13 ..... 5.75607448591937 38.5214215596142
42+
14 14 ..... 5.39299901834599 33.1284225412682
43+
15 15 .... 4.96926338119024 28.159159160078
44+
16 16 .... 4.50546546561248 23.6536936944655
45+
17 17 .... 4.02112792805914 19.6325657664064
46+
18 18 ... 3.53386183795315 16.0987039284532
47+
19 19 ... 3.05875374640611 13.0399501820471
48+
20 20 .. 2.60799003640942 10.4319601456377
49+
21 21 .. 2.19071163058392 8.24124851505378
50+
22 22 . 1.81307467331183 6.42817384174195
51+
23 23 . 1.47847998360065 4.9496938581413
52+
24 24 . 1.18792652595391 3.76176733218739
53+
25 25 0.940441833046847 2.82132549914054
54+
26 26 0.733544629776541 2.087780869364
55+
27 27 0.56370083472828 1.52408003463572
56+
28 28 0.426742409698002 1.09733762493772
57+
29 29 0.318227911231938 0.77910971370578
58+
30 30 0.233732914111734 0.545376799594046
59+
31 31 0.169066807874154 0.376309991719892
60+
32 32 0.120419197350365 0.255890794369526
61+
33 33 0.0844439621419437 0.171446832227583
62+
34 34 0.0582919229573781 0.113154909270205
63+
35 35 0.0396042182445716 0.073550691025633
64+
36 36 0.0264782487692279 0.0470724422564051
65+
37 37 0.0174168036348699 0.0296556386215352
66+
38 38 0.0112691426761834 0.0183864959453518
67+
39 39 0.00717073341868722 0.0112157625266646
68+
40 40 0.00448630501066585 0.00672945751599877
69+
41 41 0.0027590775815595 0.00397037993443928
70+
42 42 0.0016675595724645 0.00230282036197478
71+
43 43 0.000990212755649156 0.00131260760632562
72+
44 44 0.000577547346783275 0.00073506025954235
73+
45 45 0.000330777116794057 0.000404283142748292
74+
46 46 0.000185970245664214 0.000218312897084078
75+
47 47 0.000102607061629517 0.000115705835454561
76+
48 48 5.55388010181894e-05 6.01670344363719e-05
77+
49 49 2.94818468738222e-05 3.06851875625497e-05
78+
50 50 1.53425937812748e-05 1.53425937812748e-05
79+
51 51 7.82472282845016e-06 7.51787095282466e-06
80+
52 52 3.90929289546883e-06 3.60857805735584e-06
81+
53 53 1.91254637039859e-06 1.69603168695724e-06
82+
54 54 9.15857110956912e-07 7.80174576000333e-07
83+
55 55 4.29096016800183e-07 3.5107855920015e-07
84+
56 56 1.96603993152084e-07 1.54474566048066e-07
85+
57 57 8.80505026473975e-08 6.64240634006683e-08
86+
58 58 3.85259567723876e-08 2.78981066282807e-08
87+
59 59 1.64598829106856e-08 1.14382237175951e-08
88+
60 60 6.86293423055705e-09 4.57528948703803e-09
89+
61 61 2.7909265870932e-09 1.78436289994483e-09
90+
62 62 1.1063049979658e-09 6.78057901979037e-10
91+
63 63 4.27176478246793e-10 2.50881423732244e-10
92+
64 64 1.60564111188636e-10 9.03173125436077e-11
93+
65 65 5.8706253153345e-11 3.16110593902627e-11
94+
66 66 2.08632991975734e-11 1.07477601926893e-11
95+
67 67 7.20099932910184e-12 3.54676086358747e-12
96+
68 68 2.41179738723948e-12 1.13496347634799e-12
97+
69 69 7.83124798680114e-13 3.51838677667877e-13
98+
70 70 2.46287074367514e-13 1.05551603300363e-13
99+
71 71 7.49416383432579e-14 3.06099649571053e-14
100+
72 72 2.20391747691158e-14 8.57079018798949e-15
101+
73 73 6.25667683723233e-15 2.31411335075716e-15
102+
74 74 1.7124438795603e-15 6.01669471196863e-16
103+
75 75 4.51252103397647e-16 1.50417367799216e-16
104+
76 76 1.14317199527404e-16 3.61001682718118e-17
105+
77 77 2.7797129569295e-17 8.30303870251671e-18
106+
78 78 6.47637018796303e-18 1.82666851455368e-18
107+
79 79 1.4430681264974e-18 3.83600388056272e-19
108+
80 80 3.06880310445017e-19 7.67200776112544e-20
109+
81 81 6.2143262865116e-20 1.45768147461383e-20
110+
82 82 1.19529880918334e-20 2.6238266543049e-21
111+
83 83 2.17777612307307e-21 4.46050531231833e-22
112+
84 84 3.7468244623474e-22 7.13680849970933e-23
113+
85 85 6.06628722475293e-23 1.0705212749564e-23
114+
86 86 9.20648296462504e-24 1.49872978493896e-24
115+
87 87 1.30389491289689e-24 1.94834872042065e-25
116+
88 88 1.71454687397017e-25 2.33801846450478e-26
117+
89 89 2.08083643340925e-26 2.57182031095525e-27
118+
90 90 2.31463827985973e-27 2.57182031095525e-28
119+
91 91 2.34035648296928e-28 2.31463827985973e-29
120+
92 92 2.12946721747095e-29 1.85171062388778e-30
121+
93 93 1.72209088021564e-30 1.29619743672145e-31
122+
94 94 1.21842559051816e-31 7.77718462032867e-33
123+
95 95 7.38832538931224e-33 3.88859231016434e-34
124+
96 96 3.73304861775777e-34 1.55543692406574e-35
125+
97 97 1.50877381634377e-35 4.66631077219721e-37
126+
98 98 4.57298455675327e-37 9.33262154439446e-39
127+
99 99 9.23929532895052e-39 9.33262154439444e-41
128+
100 100 9.33262154439444e-41 0
129+
130+
Guest no 10 gets the largest piece (6.28156509555295) of pie.

0 commit comments

Comments
 (0)