aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2021-03-30 11:19:58 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2021-03-30 11:19:58 +0200
commitb43d72911e017d17725b75a767efca547aa550ce (patch)
tree96a9db6618c47cb644aeeeeb3c49f738cee8e0fd
parent39e8b57d63e219b0c014efac90d6eab40c689cda (diff)
downloadperlweeklychallenge-club-b43d72911e017d17725b75a767efca547aa550ce.tar.gz
perlweeklychallenge-club-b43d72911e017d17725b75a767efca547aa550ce.tar.bz2
perlweeklychallenge-club-b43d72911e017d17725b75a767efca547aa550ce.zip
solutions week 106
-rw-r--r--challenge-106/wambash/raku/ch-1.raku21
-rw-r--r--challenge-106/wambash/raku/ch-2.raku20
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-106/wambash/raku/ch-1.raku b/challenge-106/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..ac088c0eeb
--- /dev/null
+++ b/challenge-106/wambash/raku/ch-1.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub maximum-gap (+@n) {
+ @n
+ andthen .sort
+ andthen .cache
+ andthen .skip Z- $_
+ andthen .max max 0
+}
+
+multi MAIN ( *@n ) {
+ say maximum-gap @n
+}
+
+multi MAIN (Bool :$test!) {
+ use Test;
+ is maximum-gap(2,9,3,5), 4;
+ is maximum-gap(1,3,8,2,0), 5;
+ is maximum-gap(5),0;
+ done-testing;
+}
diff --git a/challenge-106/wambash/raku/ch-2.raku b/challenge-106/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..f4b67d14df
--- /dev/null
+++ b/challenge-106/wambash/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+sub decimal-string ($n, $d) {
+ $n/$d
+ andthen .base-repeating
+ andthen .[0] ~ ( if .[1] -> $_ { .fmt: '(%s)' } )
+}
+
+multi MAIN (Bool :$test!) {
+ use Test;
+ is decimal-string(1, 3), '0.(3)';
+ is decimal-string(1, 2), '0.5';
+ is decimal-string(5,66), '0.0(75)';
+ is decimal-string(3, 7), '0.(428571)';
+ done-testing;
+}
+
+multi MAIN ($n, $d) {
+ say decimal-string $n, $d
+}