diff options
| -rw-r--r-- | challenge-258/wambash/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-258/wambash/raku/ch-2.raku | 21 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-258/wambash/raku/ch-1.raku b/challenge-258/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..eab7c74298 --- /dev/null +++ b/challenge-258/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub count-even-digits-number (+ints) { + ints + andthen .map: *.codes %% 2 + andthen .sum +} + +multi MAIN (Bool :test($)!) { + use Test; + is count-even-digits-number(10,1,111,24,1000),3; + is count-even-digits-number(111,1,11111),0; + is count-even-digits-number(2,8,1024,256),1; + done-testing; +} + +multi MAIN (+ints) { + say count-even-digits-number ints +} diff --git a/challenge-258/wambash/raku/ch-2.raku b/challenge-258/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..5088190b7e --- /dev/null +++ b/challenge-258/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub sum-of-values (+ints, :$k!) { + ints + andthen .pairs + andthen .grep: { .key.polymod(2 xx *).sum == $k }\ + andthen .map: *.value + andthen .sum +} + +multi MAIN (Bool :test($)!) { + use Test; + is sum-of-values(2,5,9,11,3):k(1),17; + is sum-of-values(2,5,9,11,3):k(2),11; + is sum-of-values(2,5,9,11,3):k(0), 2; + done-testing; +} + +multi MAIN (+ints, Int :$k!) { + say sum-of-values ints, :$k +} |
