aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-11-13 11:36:52 +0000
committerGitHub <noreply@github.com>2021-11-13 11:36:52 +0000
commit91d9be8ae28d6f05cd769fdf3b638cf7c4bd81b5 (patch)
tree6e51a35484c28fdc09af41b9852a3ccbf2be9962
parent7039a8de15dfe079ba663670d02ec4389412e14a (diff)
parentc85799d4733d9bb1e3349e6468a293989ab63f61 (diff)
downloadperlweeklychallenge-club-91d9be8ae28d6f05cd769fdf3b638cf7c4bd81b5.tar.gz
perlweeklychallenge-club-91d9be8ae28d6f05cd769fdf3b638cf7c4bd81b5.tar.bz2
perlweeklychallenge-club-91d9be8ae28d6f05cd769fdf3b638cf7c4bd81b5.zip
Merge pull request #5205 from wambash/challenge-week-138
solutions week 138
-rw-r--r--challenge-138/wambash/raku/ch-1.raku19
-rw-r--r--challenge-138/wambash/raku/ch-2.raku24
2 files changed, 43 insertions, 0 deletions
diff --git a/challenge-138/wambash/raku/ch-1.raku b/challenge-138/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..85e7bb1cfb
--- /dev/null
+++ b/challenge-138/wambash/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub workdays ( $year ) {
+ Date.new: :$year
+ andthen $_ ..^ .later: :1year
+ andthen .grep: *.day-of-week !== 6|7
+ andthen .elems
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is workdays(2021), 261;
+ is workdays(2020), 262;
+ done-testing;
+}
+
+multi MAIN ( $year ) {
+ say workdays $year
+}
diff --git a/challenge-138/wambash/raku/ch-2.raku b/challenge-138/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..c4c215d2af
--- /dev/null
+++ b/challenge-138/wambash/raku/ch-2.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/env raku
+
+sub split-number ($n) {
+ 1 ..^ $n.chars
+ andthen .combinations
+ andthen .map: {0, |$_, $n.chars}\
+ andthen .map: { .skip Z- $_ }\
+ andthen .skip
+ andthen .map: { $n.comb.rotor($_) }\
+ andthen .tree: *.Seq, *.sum, *.join
+ andthen .first: {$_² == $n}, :p
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is split-number(9801), 1=> 99;
+ is split-number(81), 0 => 9;
+ is split-number(36), Nil;
+ done-testing;
+}
+
+multi MAIN ($n) {
+ say +so split-number $n
+}