diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-09-13 16:55:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-13 16:55:29 +0100 |
| commit | 290d1873d16d3a1a54455dd3d059c7f052b67db9 (patch) | |
| tree | 1eff259529be34963d64aa634a5658fa76e53ca6 | |
| parent | bc543385aba6f956646d0cbb10a1290c61fdefcc (diff) | |
| parent | 47f264e529509ce55a975040965bf8526acab5c4 (diff) | |
| download | perlweeklychallenge-club-290d1873d16d3a1a54455dd3d059c7f052b67db9.tar.gz perlweeklychallenge-club-290d1873d16d3a1a54455dd3d059c7f052b67db9.tar.bz2 perlweeklychallenge-club-290d1873d16d3a1a54455dd3d059c7f052b67db9.zip | |
Merge pull request #2271 from andemark/branch-for-challenge-077
a few improvements
| -rw-r--r-- | challenge-077/mark-anderson/raku/ch-1.raku | 16 | ||||
| -rw-r--r-- | challenge-077/mark-anderson/raku/ch-2.raku | 22 |
2 files changed, 19 insertions, 19 deletions
diff --git a/challenge-077/mark-anderson/raku/ch-1.raku b/challenge-077/mark-anderson/raku/ch-1.raku index 5505be511f..07c0f969e0 100644 --- a/challenge-077/mark-anderson/raku/ch-1.raku +++ b/challenge-077/mark-anderson/raku/ch-1.raku @@ -1,11 +1,13 @@ -unit sub MAIN(UInt $N); +multi sub MAIN(UInt $N where 0 <= $N <= 2) { say $N } -my @fib = (1, 1, * + * ... * + * > $N).unique; +multi sub MAIN(UInt $N) { + my @fib = (1, 2, * + * ... $N <= * + *); -my @results = gather { - for 2..@fib -> $n { - take $_ for @fib.combinations($n).grep(*.sum == $N); + my @results = gather { + for 2..@fib -> $n { + take $_ for @fib.combinations($n).grep(*.sum == $N); + } } -} -say "$_.join(" + ") = $N" for @results; + say "$_.join(" + ") = $N" for @results; +} diff --git a/challenge-077/mark-anderson/raku/ch-2.raku b/challenge-077/mark-anderson/raku/ch-2.raku index 767c3aaf67..4f5bd9e18c 100644 --- a/challenge-077/mark-anderson/raku/ch-2.raku +++ b/challenge-077/mark-anderson/raku/ch-2.raku @@ -9,18 +9,16 @@ lonely-X([ <O O X O>, sub lonely-X(@matrix) { my @results = gather { - for ^@matrix -> $r { - for ^@matrix[0] -> $c { - if @matrix[$r][$c] eq "X" { - take [$r, $c] unless any((@matrix[$r-1][$c-1] // q{}), - (@matrix[$r-1][$c ] // q{}), - (@matrix[$r-1][$c+1] // q{}), - (@matrix[$r ][$c-1] // q{}), - (@matrix[$r ][$c+1] // q{}), - (@matrix[$r+1][$c+1] // q{}), - (@matrix[$r+1][$c ] // q{}), - (@matrix[$r+1][$c-1] // q{})) eq "X"; - } + for ^@matrix X ^@matrix[0] -> ($r, $c) { + if @matrix[$r][$c] eq "X" { + take [$r, $c] unless any((@matrix[$r-1][$c-1] // q{}), + (@matrix[$r-1][$c ] // q{}), + (@matrix[$r-1][$c+1] // q{}), + (@matrix[$r ][$c-1] // q{}), + (@matrix[$r ][$c+1] // q{}), + (@matrix[$r+1][$c+1] // q{}), + (@matrix[$r+1][$c ] // q{}), + (@matrix[$r+1][$c-1] // q{})) eq "X"; } } } |
