diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-13 11:36:52 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-13 11:36:52 +0000 |
| commit | 91d9be8ae28d6f05cd769fdf3b638cf7c4bd81b5 (patch) | |
| tree | 6e51a35484c28fdc09af41b9852a3ccbf2be9962 | |
| parent | 7039a8de15dfe079ba663670d02ec4389412e14a (diff) | |
| parent | c85799d4733d9bb1e3349e6468a293989ab63f61 (diff) | |
| download | perlweeklychallenge-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.raku | 19 | ||||
| -rw-r--r-- | challenge-138/wambash/raku/ch-2.raku | 24 |
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 +} |
