diff options
| author | chirvasitua <stuart-little@users.noreply.github.com> | 2020-10-30 09:59:48 -0400 |
|---|---|---|
| committer | chirvasitua <stuart-little@users.noreply.github.com> | 2020-10-30 09:59:48 -0400 |
| commit | c871bcb32b547255be6c9a47ff9080f002390093 (patch) | |
| tree | 02b60cfb66470c80f38c1b371aae42e83868e6dd /challenge-079 | |
| parent | 98fa4d588b378b2a0bf84d50edb9780a1931f92b (diff) | |
| download | perlweeklychallenge-club-c871bcb32b547255be6c9a47ff9080f002390093.tar.gz perlweeklychallenge-club-c871bcb32b547255be6c9a47ff9080f002390093.tar.bz2 perlweeklychallenge-club-c871bcb32b547255be6c9a47ff9080f002390093.zip | |
initial commit on challenges 79-82
Diffstat (limited to 'challenge-079')
| -rw-r--r-- | challenge-079/stuart-little/README | 1 | ||||
| -rwxr-xr-x | challenge-079/stuart-little/raku/ch-1.p6 | 10 | ||||
| -rwxr-xr-x | challenge-079/stuart-little/raku/ch-2.p6 | 27 |
3 files changed, 38 insertions, 0 deletions
diff --git a/challenge-079/stuart-little/README b/challenge-079/stuart-little/README new file mode 100644 index 0000000000..76119cbbb8 --- /dev/null +++ b/challenge-079/stuart-little/README @@ -0,0 +1 @@ +Solutions by Stuart Little. diff --git a/challenge-079/stuart-little/raku/ch-1.p6 b/challenge-079/stuart-little/raku/ch-1.p6 new file mode 100755 index 0000000000..72bf82467e --- /dev/null +++ b/challenge-079/stuart-little/raku/ch-1.p6 @@ -0,0 +1,10 @@ +#!/usr/bin/env perl6 +use v6; + +sub bits($n) { + (1..$n).map(*.base(2)).join.indices(1).elems % 1000000007 +} + +say bits(@*ARGS[0]); + +# run as <script> number diff --git a/challenge-079/stuart-little/raku/ch-2.p6 b/challenge-079/stuart-little/raku/ch-2.p6 new file mode 100755 index 0000000000..954c876901 --- /dev/null +++ b/challenge-079/stuart-little/raku/ch-2.p6 @@ -0,0 +1,27 @@ +#!/usr/bin/env perl6 +use v6; + +sub thresh(@a,$idx) { + min(@a.[0..^$idx].max,@a.[$idx^..*].max) +} + +sub hist(@a) { + (1..@a.max) + .map( -> $val { @a.keys.map({ +($val <= @a.[$_]) ?? ('#') !! ($val <= thresh(@a,$_)) ?? ('0') !! (' ') }) + }) + .reverse + .join("\n") +} + +sub rain(@a) { + @a.keys + .map({ (@a.[$_]^..thresh(@a,$_)).elems }) +} + +say hist(@*ARGS.map(*.Int)), +"\n" ~ ('- ' x @*ARGS) ~ "\n", +rain(@*ARGS.map(*.Int)).sum; + +# run as <script> <space-separated array entries> +# histogram displays "rain" as '0' |
