diff options
| -rwxr-xr-x | challenge-112/stuart-little/raku/ch-1.p6 | 6 | ||||
| -rwxr-xr-x | challenge-112/stuart-little/raku/ch-2.p6 | 23 |
2 files changed, 29 insertions, 0 deletions
diff --git a/challenge-112/stuart-little/raku/ch-1.p6 b/challenge-112/stuart-little/raku/ch-1.p6 new file mode 100755 index 0000000000..aa5f7f9434 --- /dev/null +++ b/challenge-112/stuart-little/raku/ch-1.p6 @@ -0,0 +1,6 @@ +#!/usr/bin/env perl6 +use v6; + +# run <script> <path> + +IO::Spec::Unix.canonpath(@*ARGS[0], :parent).say; diff --git a/challenge-112/stuart-little/raku/ch-2.p6 b/challenge-112/stuart-little/raku/ch-2.p6 new file mode 100755 index 0000000000..c4a93ddde8 --- /dev/null +++ b/challenge-112/stuart-little/raku/ch-2.p6 @@ -0,0 +1,23 @@ +#!/usr/bin/env perl6 +use v6; + +# run <script> <number> + +my %memo=( + 1 => [[1,],], + 2 => [[1,1],[2,]] +); + +sub memoSteps($n) { + (%memo{$n}:!exists) && do { + %memo{$n} = (|memoSteps($n-1).map({ (1,|$_).Array }),|memoSteps($n-2).map({ (2,|$_).Array })).Array; + }; + return %memo{$n}.Array; +} + +my @res = memoSteps(@*ARGS[0].Int); +say @res.elems; + +for (@res) { + .say; +} |
