aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-03-30 01:55:15 +0100
committerGitHub <noreply@github.com>2021-03-30 01:55:15 +0100
commit0d585ccb35aeaec55cfbc0d9dbee7482cce8f60f (patch)
treeb90a5ea95d17d9201da28a18199ba91118c285ec
parent338a327731af357d68feadc5e214c6d7ede3b401 (diff)
parent520e96802c6a034a587e1ce33dd5edd4953f5075 (diff)
downloadperlweeklychallenge-club-0d585ccb35aeaec55cfbc0d9dbee7482cce8f60f.tar.gz
perlweeklychallenge-club-0d585ccb35aeaec55cfbc0d9dbee7482cce8f60f.tar.bz2
perlweeklychallenge-club-0d585ccb35aeaec55cfbc0d9dbee7482cce8f60f.zip
Merge pull request #3793 from andemark/branch-for-challenge-106
Challenge 106 Solutions (Raku)
-rw-r--r--challenge-106/mark-anderson/raku/ch-1.raku12
-rw-r--r--challenge-106/mark-anderson/raku/ch-2.raku18
2 files changed, 30 insertions, 0 deletions
diff --git a/challenge-106/mark-anderson/raku/ch-1.raku b/challenge-106/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..b04144a364
--- /dev/null
+++ b/challenge-106/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,12 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 3;
+
+is max-gap(2, 9, 3, 5), 4;
+is max-gap(1, 3, 8, 2, 0), 5;
+is max-gap(5), 0;
+
+multi max-gap($N) { 0 }
+
+multi max-gap(*@N) { max @N.sort.rotor(2 => -1).map({ .[1] - .[0] }) }
diff --git a/challenge-106/mark-anderson/raku/ch-2.raku b/challenge-106/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..2366e111ad
--- /dev/null
+++ b/challenge-106/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,18 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 4;
+
+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(3227, 555), "5.8(144)";
+
+sub decimal-string($n, $d)
+{
+ my ($non-rep, $rep) = ($n/$d).base-repeating;
+
+ return $non-rep unless $rep;
+
+ return sprintf '%s(%s)', $non-rep, $rep;
+}