aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-046/markus-holzer/raku/ch-1.raku20
-rw-r--r--challenge-046/markus-holzer/raku/ch-2.raku10
2 files changed, 30 insertions, 0 deletions
diff --git a/challenge-046/markus-holzer/raku/ch-1.raku b/challenge-046/markus-holzer/raku/ch-1.raku
new file mode 100644
index 0000000000..5c5c38ae18
--- /dev/null
+++ b/challenge-046/markus-holzer/raku/ch-1.raku
@@ -0,0 +1,20 @@
+my $message = q:to/END/;
+P + 2 l ! a t o
+1 e 8 0 R $ 4 u
+5 - r ] + a > /
+P x w l b 3 k \
+2 e 3 5 R 8 y u
+< ! r ^ ( ) k 0
+END
+
+# gives 'PerlRaku'
+say decrypt( $message );
+
+sub decrypt( $encrypted )
+{
+ join '', roundrobin(
+ $encrypted.lines.map({ .split(/ \s /) })
+ ).map({
+ .Bag.first({ .value > 1 }).key
+ });
+} \ No newline at end of file
diff --git a/challenge-046/markus-holzer/raku/ch-2.raku b/challenge-046/markus-holzer/raku/ch-2.raku
new file mode 100644
index 0000000000..f762a3f6e9
--- /dev/null
+++ b/challenge-046/markus-holzer/raku/ch-2.raku
@@ -0,0 +1,10 @@
+say "Open rooms: ", (1..^500).grep({
+ is-open( $_ )
+}).join(",");
+
+sub is-open( $i )
+{
+ my $status = !($i %% 2);
+ $status = !$status if $i %% $_ for 3, 4;
+ $status;
+}