diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-11-27 11:38:11 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-27 11:38:11 +0000 |
| commit | 716292987794da4da62ff637980bd8f81697a96a (patch) | |
| tree | 171317d66e4859042bb9895a0a82447517eba65b | |
| parent | b4f572e863e3c6755748048d19e4f626babf8713 (diff) | |
| parent | 5d4960e478919348fcabc4951fa07347bb515320 (diff) | |
| download | perlweeklychallenge-club-716292987794da4da62ff637980bd8f81697a96a.tar.gz perlweeklychallenge-club-716292987794da4da62ff637980bd8f81697a96a.tar.bz2 perlweeklychallenge-club-716292987794da4da62ff637980bd8f81697a96a.zip | |
Merge pull request #5285 from wambash/challenge-week-140
solutions week 140
| -rw-r--r-- | challenge-140/wambash/ch-1.raku | 20 | ||||
| -rw-r--r-- | challenge-140/wambash/ch-2.raku | 28 |
2 files changed, 48 insertions, 0 deletions
diff --git a/challenge-140/wambash/ch-1.raku b/challenge-140/wambash/ch-1.raku new file mode 100644 index 0000000000..8b6206a267 --- /dev/null +++ b/challenge-140/wambash/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub add-binary (+@a) { + @a + andthen .map: { :2( ~$_ ) }\ + andthen .sum + andthen .base(2) +} + +multi MAIN (Bool :test($)!) { + use Test; + is add-binary( 11, 1), 100; + is add-binary(101, 1), 110; + is add-binary( 11,100), 111; + done-testing; +} + +multi MAIN (*@a) { + say add-binary @a +} diff --git a/challenge-140/wambash/ch-2.raku b/challenge-140/wambash/ch-2.raku new file mode 100644 index 0000000000..37dde664c6 --- /dev/null +++ b/challenge-140/wambash/ch-2.raku @@ -0,0 +1,28 @@ +#!/usr/bin/env raku + +constant @multiplication-table = ( + (1, 2 ... *) Z, (2,4 ... *) + andthen .map: { |$_... * }\ + andthen *.map: *.cache +); + +sub multiplication-table ($k, $i=$k div 2+1, $j=$i) { + @multiplication-table + andthen .map: *.head($j) + andthen .head($i) + andthen .flat.sort + andthen .[$k-1] +} + +multi MAIN (Bool :test($)!) { + use Test; + is multiplication-table(4),3; + is multiplication-table(4,2,3),3; + is multiplication-table(6,3,3),4; + is multiplication-table(150),39; + done-testing; +} + +multi MAIN ($k, $i=$k div 2 + 1, $j=$i) { + say multiplication-table $k, $i, $j +} |
