diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-08-17 00:24:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-17 00:24:46 +0100 |
| commit | df98ca29691a149ae25cddadbf98cdc179e44f6a (patch) | |
| tree | f5a4d5ac83d45c740beed7a9f4f0579f597b605d /challenge-126 | |
| parent | d9a246052676504c850dae72510907fffd21f664 (diff) | |
| parent | b0e8d4df73402d7db49599085b1fec8203893c4b (diff) | |
| download | perlweeklychallenge-club-df98ca29691a149ae25cddadbf98cdc179e44f6a.tar.gz perlweeklychallenge-club-df98ca29691a149ae25cddadbf98cdc179e44f6a.tar.bz2 perlweeklychallenge-club-df98ca29691a149ae25cddadbf98cdc179e44f6a.zip | |
Merge pull request #4730 from stuart-little/stuart-little_126_raku
1st commit on 126_raku
Diffstat (limited to 'challenge-126')
| -rwxr-xr-x | challenge-126/stuart-little/raku/ch-1.raku | 12 | ||||
| -rwxr-xr-x | challenge-126/stuart-little/raku/ch-2.raku | 21 |
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-126/stuart-little/raku/ch-1.raku b/challenge-126/stuart-little/raku/ch-1.raku new file mode 100755 index 0000000000..b219539164 --- /dev/null +++ b/challenge-126/stuart-little/raku/ch-1.raku @@ -0,0 +1,12 @@ +#!/usr/bin/env raku +use v6; + +# run <script> <number> + +sub no1($nr) { + $nr.chars==0 && return 0; + ($nr.substr(0,1) eq '1') && return 9**($nr.chars-1); + return ($nr.substr(0,1).Int-1) * 9**($nr.chars-1) + no1($nr.substr(1)); +} + +say((@*ARGS[0] !~~ m/1/) ?? (no1(@*ARGS[0])) !! (no1(@*ARGS[0])-1)) diff --git a/challenge-126/stuart-little/raku/ch-2.raku b/challenge-126/stuart-little/raku/ch-2.raku new file mode 100755 index 0000000000..0acd479e12 --- /dev/null +++ b/challenge-126/stuart-little/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku +use v6; + +# run <script> + +sub nbrs(@mat, $i, $j) { + return ((-1..1) X (-1..1)).map({ [$i+$_.[0], $j+$_.[1]] }).grep({ 0 <= $_.[0] < @mat.elems && 0 <= $_.[1] < @mat[0].elems && ($_.[0] != $i || $_.[1] != $j) }).Array +} +my @in = $=finish.lines.map({ $_.split(/\s+/).Array }); + +for ((0..^@in.elems) X (0..^@in[0].elems)) -> ($i, $j) { + print( ((@in[$i][$j] eq 'x') ?? (@in[$i][$j]) !! (nbrs(@in,$i,$j).grep({ @in[$_[0]][$_[1]] eq 'x' }).elems)) ~ " " ); + ($j == @in[0].elems-1) && print("\n"); +} + +=finish +x * * * x * x x x x +* * * * * * * * * x +* * * * x * x * x * +* * * x x * * * * * +x * * * x * * * * x |
