From c2fec9b90e31e63747790c6e58df13030e43ab86 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Mon, 4 Mar 2024 08:05:08 +0100 Subject: solutions week 258 --- challenge-258/wambash/raku/ch-1.raku | 19 +++++++++++++++++++ challenge-258/wambash/raku/ch-2.raku | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 challenge-258/wambash/raku/ch-1.raku create mode 100644 challenge-258/wambash/raku/ch-2.raku 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 +} -- cgit