diff options
| author | chirvasitua <stuart-little@users.noreply.github.com> | 2021-05-10 13:55:32 -0400 |
|---|---|---|
| committer | chirvasitua <stuart-little@users.noreply.github.com> | 2021-05-10 13:55:32 -0400 |
| commit | 585840f99f844b429ad0c963733751aa33bcd532 (patch) | |
| tree | d449b94193c0c89c404f01c7bb0d8f2dd652cb3b | |
| parent | 765d55c53dabebcd6b5832e3396e6d4fdcbb56e1 (diff) | |
| download | perlweeklychallenge-club-585840f99f844b429ad0c963733751aa33bcd532.tar.gz perlweeklychallenge-club-585840f99f844b429ad0c963733751aa33bcd532.tar.bz2 perlweeklychallenge-club-585840f99f844b429ad0c963733751aa33bcd532.zip | |
1st commit on 112_perl
| -rwxr-xr-x | challenge-112/stuart-little/perl/ch-1.pl | 9 | ||||
| -rwxr-xr-x | challenge-112/stuart-little/perl/ch-2.pl | 28 |
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-112/stuart-little/perl/ch-1.pl b/challenge-112/stuart-little/perl/ch-1.pl new file mode 100755 index 0000000000..d43271e650 --- /dev/null +++ b/challenge-112/stuart-little/perl/ch-1.pl @@ -0,0 +1,9 @@ +#!/usr/bin/perl +use warnings; +use v5.12; + +# run <script> <path> + +use Path::Resolve; + +say Path::Resolve->new()->resolve($ARGV[0]); diff --git a/challenge-112/stuart-little/perl/ch-2.pl b/challenge-112/stuart-little/perl/ch-2.pl new file mode 100755 index 0000000000..78e986f4c3 --- /dev/null +++ b/challenge-112/stuart-little/perl/ch-2.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl +use warnings; +use v5.12; + +# run <script> <number> + +use feature qw(signatures); +no warnings qw(experimental::signatures); + +my %memo=( + 1 => [[1,],], + 2 => [[1,1],[2,]] +); + +sub memoSteps($n) { + (! exists $memo{$n}) && do { + my @prevTot = ((map {my @ar = (1,@{$_}); \@ar} @{memoSteps($n-1)}), (map {my @ar = (2,@{$_}); \@ar} @{memoSteps($n-2)})); + $memo{$n} = \@prevTot; + }; + return $memo{$n}; +} + +my @res = @{memoSteps($ARGV[0])}; +say scalar @res, "\n", "-" x 10; + +for (@res) { + say "@{$_}"; +} |
