diff options
| author | Jason Messer <jasoncmesser@gmail.com> | 2020-08-03 00:33:24 -0700 |
|---|---|---|
| committer | Jason Messer <jasoncmesser@gmail.com> | 2020-08-03 00:33:24 -0700 |
| commit | d25dbda8b97eb3bfa860d8b3a356bddc90e47a94 (patch) | |
| tree | 8ce9987bc6f170bf4d3392afd19e15b4f9e918d3 | |
| parent | 8c2f5fd585d45d45a93bea8031ad0a30c9534218 (diff) | |
| download | perlweeklychallenge-club-d25dbda8b97eb3bfa860d8b3a356bddc90e47a94.tar.gz perlweeklychallenge-club-d25dbda8b97eb3bfa860d8b3a356bddc90e47a94.tar.bz2 perlweeklychallenge-club-d25dbda8b97eb3bfa860d8b3a356bddc90e47a94.zip | |
Weekly challenge #72 solutions for Jason Messer
| -rw-r--r-- | challenge-072/jason-messer/README | 1 | ||||
| -rwxr-xr-x | challenge-072/jason-messer/ch-1.p6 | 20 | ||||
| -rwxr-xr-x | challenge-072/jason-messer/ch-2.p6 | 7 |
3 files changed, 28 insertions, 0 deletions
diff --git a/challenge-072/jason-messer/README b/challenge-072/jason-messer/README new file mode 100644 index 0000000000..62394b16ea --- /dev/null +++ b/challenge-072/jason-messer/README @@ -0,0 +1 @@ +Solution by Jason Messer diff --git a/challenge-072/jason-messer/ch-1.p6 b/challenge-072/jason-messer/ch-1.p6 new file mode 100755 index 0000000000..d8d7d95629 --- /dev/null +++ b/challenge-072/jason-messer/ch-1.p6 @@ -0,0 +1,20 @@ +#! /usr/bin/env rakudo +sub count-trailing-zeros(Int $n) { + my $running = $n; + my Int $count = 0; + while ($running > 0) { + if ($running %% 10) { + $running /= 10; + ++$count; + } else { + last; + } + } + return $count; +} + +my $fac := lazy 1, { $^a * ++$ } ... *; + +say count-trailing-zeros($fac[10]); +say count-trailing-zeros($fac[7]); +say count-trailing-zeros($fac[4]); diff --git a/challenge-072/jason-messer/ch-2.p6 b/challenge-072/jason-messer/ch-2.p6 new file mode 100755 index 0000000000..27ab3156ec --- /dev/null +++ b/challenge-072/jason-messer/ch-2.p6 @@ -0,0 +1,7 @@ +#! /usr/bin/env rakudo +sub MAIN($fname, $first_line, $last_line) { + my $fh = open $fname, :chomp(False) or die($fh); + $fh.lines($first_line - 1).eager; + my $n = $last_line - ($first_line - 1); + for ($fh.lines($n)) { .print } +} |
