diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-06-15 20:21:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-15 20:21:03 +0100 |
| commit | 26edcfc1d15cc74916d0e2a0f7001b17647b4f46 (patch) | |
| tree | 24c2bb8248fe35becc41e699b1918364068f38d7 | |
| parent | d499d2f0336c1c605666703aaea8427f1d4815de (diff) | |
| parent | 3bd7315931c1dc8eca44fc4b86a77909a152de10 (diff) | |
| download | perlweeklychallenge-club-26edcfc1d15cc74916d0e2a0f7001b17647b4f46.tar.gz perlweeklychallenge-club-26edcfc1d15cc74916d0e2a0f7001b17647b4f46.tar.bz2 perlweeklychallenge-club-26edcfc1d15cc74916d0e2a0f7001b17647b4f46.zip | |
Merge pull request #4258 from stuart-little/stuart-little_117_raku
1st commit on 117_raku
| -rwxr-xr-x | challenge-117/stuart-little/raku/ch-1.raku | 23 | ||||
| -rwxr-xr-x | challenge-117/stuart-little/raku/ch-2.raku | 22 |
2 files changed, 45 insertions, 0 deletions
diff --git a/challenge-117/stuart-little/raku/ch-1.raku b/challenge-117/stuart-little/raku/ch-1.raku new file mode 100755 index 0000000000..cb7fd71738 --- /dev/null +++ b/challenge-117/stuart-little/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku +use v6; + +# run <script> <path-to-file> + +my @lines = (@*ARGS.elems) ?? (@*ARGS[0].IO.lines) !! ($=finish.lines); +((@lines.elems+1)*(@lines.elems + 2)/2 - @lines.map({ /^<-[\d]>*(\d+)/; $0.Int }).sum ).say; + +=finish +11, Line Eleven +1, Line one +9, Line Nine +13, Line Thirteen +2, Line two +6, Line Six +8, Line Eight +10, Line Ten +7, Line Seven +4, Line Four +14, Line Fourteen +3, Line three +15, Line Fifteen +5, Line Five diff --git a/challenge-117/stuart-little/raku/ch-2.raku b/challenge-117/stuart-little/raku/ch-2.raku new file mode 100755 index 0000000000..9368307c84 --- /dev/null +++ b/challenge-117/stuart-little/raku/ch-2.raku @@ -0,0 +1,22 @@ +#!/usr/bin/env raku +use v6; + +# run <script> <number> + +my @memo=[[''],['R','LH']]; + +sub mkPaths($size) { + ($size >= @memo.elems) && do { + my @res = mkPaths($size-1).map({ 'R' ~ $_ }).Array; + for (0..^$size) -> $nr { + my @gluedPairs = (mkPaths($nr).Seq X mkPaths($size -1 - $nr).Seq).map({ 'L' ~ $_.[0] ~ 'H' ~ $_.[1] }); + @res.push(|@gluedPairs); + } + @memo.push(@res.Array); + }; + return @memo[$size]; +} + +for (mkPaths(@*ARGS[0].Int).Seq) { + .say; +} |
