aboutsummaryrefslogtreecommitdiff
path: root/challenge-141
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2021-12-04 13:04:51 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2021-12-04 13:04:51 +0100
commit7ed0274b1cae57b9b401f45f8439d543ace00646 (patch)
tree96c4d89ab71e16f6db9b4886085e681ee6d0be3b /challenge-141
parent34f2d91e2c7f9da9dfcd686494de8886d0dc9be5 (diff)
downloadperlweeklychallenge-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.raku20
-rw-r--r--challenge-141/wambash/raku/ch-2.raku22
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
+}