diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-12-04 13:04:51 +0100 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-12-04 13:04:51 +0100 |
| commit | 7ed0274b1cae57b9b401f45f8439d543ace00646 (patch) | |
| tree | 96c4d89ab71e16f6db9b4886085e681ee6d0be3b /challenge-141 | |
| parent | 34f2d91e2c7f9da9dfcd686494de8886d0dc9be5 (diff) | |
| download | perlweeklychallenge-club-7ed0274b1cae57b9b401f45f8439d543ace00646.tar.gz perlweeklychallenge-club-7ed0274b1cae57b9b401f45f8439d543ace00646.tar.bz2 perlweeklychallenge-club-7ed0274b1cae57b9b401f45f8439d543ace00646.zip | |
solutions week 141
Diffstat (limited to 'challenge-141')
| -rw-r--r-- | challenge-141/wambash/raku/ch-1.raku | 20 | ||||
| -rw-r--r-- | challenge-141/wambash/raku/ch-2.raku | 22 |
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-141/wambash/raku/ch-1.raku b/challenge-141/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..8f3c6ead42 --- /dev/null +++ b/challenge-141/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub number-divisors ( :$divisors = 8, :$lowest = 10) { + 1 .. * + andthen .grep: { + $divisors == (1..$_).grep: $_ %% * + }\ + andthen .head($lowest) +} + +multi MAIN (Bool :test($)!) { + use Test; + is number-divisors(:1lowest), 24; + is number-divisors(:2divisors), (1..*).grep( *.is-prime).head(10); + done-testing; +} + +multi MAIN (|c) { + put number-divisors(|c) +} diff --git a/challenge-141/wambash/raku/ch-2.raku b/challenge-141/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..498bf93c7c --- /dev/null +++ b/challenge-141/wambash/raku/ch-2.raku @@ -0,0 +1,22 @@ +#!/usr/bin/env raku + +sub line-numbers ($m, $n) { + $m + andthen .comb + andthen .combinations: 1 ..^ $m.chars + andthen .map: *.join + andthen .grep: { $_ %% $n } +} + +multi MAIN (Bool :test($)!) { + use Test; + is +line-numbers( 1234, 2 ), 9; + is +line-numbers( 768, 4 ), 3; + is line-numbers( 768, 4 ), <8 76 68>; + is line-numbers( 1234, 2 ), <2 4 12 14 24 34 124 134 234>; + done-testing; +} + +multi MAIN ($m, $n) { + say +line-numbers $m, $n +} |
