aboutsummaryrefslogtreecommitdiff
path: root/challenge-079
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2020-10-30 09:59:48 -0400
committerchirvasitua <stuart-little@users.noreply.github.com>2020-10-30 09:59:48 -0400
commitc871bcb32b547255be6c9a47ff9080f002390093 (patch)
tree02b60cfb66470c80f38c1b371aae42e83868e6dd /challenge-079
parent98fa4d588b378b2a0bf84d50edb9780a1931f92b (diff)
downloadperlweeklychallenge-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/README1
-rwxr-xr-xchallenge-079/stuart-little/raku/ch-1.p610
-rwxr-xr-xchallenge-079/stuart-little/raku/ch-2.p627
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'