diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2020-10-18 10:22:01 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2020-10-18 10:22:01 +0200 |
| commit | ab2f49c69379e0ea79872935eca4c06104222c14 (patch) | |
| tree | e012f7e164b3b55d1a3d0e202f2152b9840c222b | |
| parent | 1774bf623614b0a632ef11d01e4fedd1bd427bd5 (diff) | |
| download | perlweeklychallenge-club-ab2f49c69379e0ea79872935eca4c06104222c14.tar.gz perlweeklychallenge-club-ab2f49c69379e0ea79872935eca4c06104222c14.tar.bz2 perlweeklychallenge-club-ab2f49c69379e0ea79872935eca4c06104222c14.zip | |
solutions week 082-1 and 082-2 in progress
| -rw-r--r-- | challenge-082/wambash/raku/ch-1.raku | 15 | ||||
| -rw-r--r-- | challenge-082/wambash/raku/ch-2.raku | 18 |
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-082/wambash/raku/ch-1.raku b/challenge-082/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..0a706a49d5 --- /dev/null +++ b/challenge-082/wambash/raku/ch-1.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku + +sub common-factors( +@a ) { + my $gcd = [gcd] @a; + 1, 2 ... $gcd + andthen .grep: $gcd %% * +} + +multi MAIN (Bool :$test) { + use Test; + is common-factors(12, 18), (1,2,3,6); + is common-factors(18, 23), (1); + is common-factors(6, 9, 15), (1,3); + done-testing +} diff --git a/challenge-082/wambash/raku/ch-2.raku b/challenge-082/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..6b159c8eaf --- /dev/null +++ b/challenge-082/wambash/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +multi iter ( ( (),Empty ) ) { + True +} + +multi iter ( (@c,+@a) ) { + @a.first: { .head eqv @c.head}, :k + andthen \(@c.skip, |@a[0..^ $_], @a[$_].skip.cache||Empty, |@a[$_ ^.. *]) + orelse False +} + +\((1,2,2,2,3),(1,2),(2,2,3)), *.&iter ... Bool +andthen .say; + +sub interleave-string (@c, +@a) { + ... +} |
