diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-06-24 10:08:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-24 10:08:37 +0100 |
| commit | 247e5a8ccbf2ca49929f435a6efc5e7f9c6e4e36 (patch) | |
| tree | c0a3d6f4638a10a241ddd74c0544b50ff5f05b56 /challenge-170 | |
| parent | 8460b234597754ed3be48a7ee15e013d906d1c17 (diff) | |
| parent | 280e7c56691d90b0231043175ee405255b4150af (diff) | |
| download | perlweeklychallenge-club-247e5a8ccbf2ca49929f435a6efc5e7f9c6e4e36.tar.gz perlweeklychallenge-club-247e5a8ccbf2ca49929f435a6efc5e7f9c6e4e36.tar.bz2 perlweeklychallenge-club-247e5a8ccbf2ca49929f435a6efc5e7f9c6e4e36.zip | |
Merge pull request #6327 from wambash/challenge-week-170
solutions week 170
Diffstat (limited to 'challenge-170')
| -rw-r--r-- | challenge-170/wambash/raku/ch-1.raku | 17 | ||||
| -rw-r--r-- | challenge-170/wambash/raku/ch-2.raku | 23 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-170/wambash/raku/ch-1.raku b/challenge-170/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..98d06d5165 --- /dev/null +++ b/challenge-170/wambash/raku/ch-1.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +constant Primorial = ( + ^∞ + andthen .grep: *.is-prime + andthen 1, |[\*] $_ +); + +multi MAIN (Bool :test($)!) { + use Test; + is Primorial.head(5), (1,2,6,30,210); + done-testing; +} + +multi MAIN (UInt $n=10) { + put Primorial.head: $n +} diff --git a/challenge-170/wambash/raku/ch-2.raku b/challenge-170/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..24af4c6e47 --- /dev/null +++ b/challenge-170/wambash/raku/ch-2.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku +my rule row { (\d+)+ %% ',' }; +my rule matrix { <row>+ %% ';' } + +sub kronecker-product (@a, @b) { + @a XX* @b + andthen .map: *.list +} + +multi MAIN (Bool :test($)!) { + use Test; + my @a:= ( 1,2; 3,4; ); + my @b:= ( 5,6; 7,8; ); + my @c:= ( 5,6,10,12; 7,8,14,16; 15,18,20,24; 21,24,28,32 ); + is-deeply kronecker-product(@a,@b), @c; + is '1,2'.match(&row)[0], (1,2); + is-deeply '1,2;3,4'.match(&matrix)<row>».[0]».Int, ([1,2],[3,4]); + done-testing; +} + +multi MAIN ($a, $b) { + say kronecker-product $a.match(&matrix).<row>».[0], $b.match(&matrix).<row>».[0]; +} |
