From 057d37883b01ccffd901ea8285ee816fddf44d9b Mon Sep 17 00:00:00 2001 From: Jason Messer Date: Mon, 3 Aug 2020 08:33:34 -0700 Subject: Moved challenge answers into raku directory as appropriate --- challenge-072/jason-messer/README | 4 +++- challenge-072/jason-messer/ch-1.p6 | 20 -------------------- challenge-072/jason-messer/ch-2.p6 | 7 ------- challenge-072/jason-messer/raku/ch-1.p6 | 20 ++++++++++++++++++++ challenge-072/jason-messer/raku/ch-2.p6 | 7 +++++++ 5 files changed, 30 insertions(+), 28 deletions(-) delete mode 100755 challenge-072/jason-messer/ch-1.p6 delete mode 100755 challenge-072/jason-messer/ch-2.p6 create mode 100755 challenge-072/jason-messer/raku/ch-1.p6 create mode 100755 challenge-072/jason-messer/raku/ch-2.p6 diff --git a/challenge-072/jason-messer/README b/challenge-072/jason-messer/README index 62394b16ea..4645ca8823 100644 --- a/challenge-072/jason-messer/README +++ b/challenge-072/jason-messer/README @@ -1 +1,3 @@ -Solution by Jason Messer +Raku Solutions by Jason Messer + +For challenge 2 I based behavior on sed, silently defaulting range points that don't exist or don't make sense. diff --git a/challenge-072/jason-messer/ch-1.p6 b/challenge-072/jason-messer/ch-1.p6 deleted file mode 100755 index d8d7d95629..0000000000 --- a/challenge-072/jason-messer/ch-1.p6 +++ /dev/null @@ -1,20 +0,0 @@ -#! /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 deleted file mode 100755 index 27ab3156ec..0000000000 --- a/challenge-072/jason-messer/ch-2.p6 +++ /dev/null @@ -1,7 +0,0 @@ -#! /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 } -} diff --git a/challenge-072/jason-messer/raku/ch-1.p6 b/challenge-072/jason-messer/raku/ch-1.p6 new file mode 100755 index 0000000000..d8d7d95629 --- /dev/null +++ b/challenge-072/jason-messer/raku/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/raku/ch-2.p6 b/challenge-072/jason-messer/raku/ch-2.p6 new file mode 100755 index 0000000000..27ab3156ec --- /dev/null +++ b/challenge-072/jason-messer/raku/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 } +} -- cgit