|
| 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