From 58bf5d8427ab57ee8dc095567bab5ffca7160403 Mon Sep 17 00:00:00 2001 From: Mark A Date: Sun, 18 Jul 2021 23:53:32 -0600 Subject: initial 122 --- challenge-122/mark-anderson/raku/ch-1.raku | 16 ++++++++++++++++ challenge-122/mark-anderson/raku/ch-2.raku | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 challenge-122/mark-anderson/raku/ch-1.raku create mode 100644 challenge-122/mark-anderson/raku/ch-2.raku diff --git a/challenge-122/mark-anderson/raku/ch-1.raku b/challenge-122/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..ef2f39b2a1 --- /dev/null +++ b/challenge-122/mark-anderson/raku/ch-1.raku @@ -0,0 +1,16 @@ +#!/usr/bin/env raku + +use Test; +plan 6; + +is avg-seq(1 ... ∞), (1, 1.5 ... 10.5); +is avg-seq(1, 3 ... ∞), (1 ... 20); +is avg-seq(2, 4 ... ∞), (2 ... 21); +is avg-seq(3, 6 ... ∞), (3, 4.5 ... 31.5); +is avg-seq(4, 8 ... ∞), (4, 6 ... 42); +is avg-seq(10, 20 ... ∞), (10, 15 ... 105); + +sub avg-seq($seq) +{ + $seq.head(20).map({ .narrow with (state $sum += $_) / ++$ }); +} diff --git a/challenge-122/mark-anderson/raku/ch-2.raku b/challenge-122/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..1bcac2dff3 --- /dev/null +++ b/challenge-122/mark-anderson/raku/ch-2.raku @@ -0,0 +1,16 @@ +#!/usr/bin/env raku + +unit sub MAIN(UInt $S); + +.say for b-ball-points($S); + +multi b-ball-points($S where * == 1) { (1,), } +multi b-ball-points($S where * == 2) { (1, 1), (2,) } +multi b-ball-points($S where * == 3) { (1, 1, 1), (1, 2), (2, 1), (3,) } + +multi b-ball-points($S) +{ + (1..2**($S-1)-1) + .map({ (.fmt('%0' ~ $S ~ 'b') ~~ m:g/ (.) [$0+]? /).map({ .chars }) }) + .grep({ .cache.all < 4 }) +} -- cgit From 993ffb1d234c969417741a4e3a5721f66e8bf981 Mon Sep 17 00:00:00 2001 From: Mark A Date: Mon, 19 Jul 2021 00:30:43 -0600 Subject: initial 122 --- challenge-122/mark-anderson/raku/ch-1.raku | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/challenge-122/mark-anderson/raku/ch-1.raku b/challenge-122/mark-anderson/raku/ch-1.raku index ef2f39b2a1..02ffa0bb96 100644 --- a/challenge-122/mark-anderson/raku/ch-1.raku +++ b/challenge-122/mark-anderson/raku/ch-1.raku @@ -3,12 +3,12 @@ use Test; plan 6; -is avg-seq(1 ... ∞), (1, 1.5 ... 10.5); -is avg-seq(1, 3 ... ∞), (1 ... 20); -is avg-seq(2, 4 ... ∞), (2 ... 21); -is avg-seq(3, 6 ... ∞), (3, 4.5 ... 31.5); -is avg-seq(4, 8 ... ∞), (4, 6 ... 42); -is avg-seq(10, 20 ... ∞), (10, 15 ... 105); +is-deeply avg-seq(1 ... ∞), (1, 1.5 ... 10.5)>>.narrow; +is-deeply avg-seq(1, 3 ... ∞), (1 ... 20); +is-deeply avg-seq(2, 4 ... ∞), (2 ... 21); +is-deeply avg-seq(3, 6 ... ∞), (3, 4.5 ... 31.5)>>.narrow; +is-deeply avg-seq(4, 8 ... ∞), (4, 6 ... 42); +is-deeply avg-seq(10, 20 ... ∞), (10, 15 ... 105); sub avg-seq($seq) { -- cgit