aboutsummaryrefslogtreecommitdiff
path: root/challenge-006
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2020-12-07 23:33:56 -0500
committerchirvasitua <stuart-little@users.noreply.github.com>2020-12-07 23:33:56 -0500
commit9e66df75dea2ac13f895a1006859af5d54e3efbb (patch)
treed6c00f8c129eb515dd3ec7c598cbb9f2db01e9a7 /challenge-006
parentd516a0c34ab55ccc6a4eb285757a5988ac6fb1a4 (diff)
downloadperlweeklychallenge-club-9e66df75dea2ac13f895a1006859af5d54e3efbb.tar.gz
perlweeklychallenge-club-9e66df75dea2ac13f895a1006859af5d54e3efbb.tar.bz2
perlweeklychallenge-club-9e66df75dea2ac13f895a1006859af5d54e3efbb.zip
1st commit on 006
Diffstat (limited to 'challenge-006')
-rw-r--r--challenge-006/stuart-little/README1
-rwxr-xr-xchallenge-006/stuart-little/raku/ch-1.p610
-rwxr-xr-xchallenge-006/stuart-little/raku/ch-2.p615
3 files changed, 26 insertions, 0 deletions
diff --git a/challenge-006/stuart-little/README b/challenge-006/stuart-little/README
new file mode 100644
index 0000000000..78439907de
--- /dev/null
+++ b/challenge-006/stuart-little/README
@@ -0,0 +1 @@
+Solutions by Stuart Little
diff --git a/challenge-006/stuart-little/raku/ch-1.p6 b/challenge-006/stuart-little/raku/ch-1.p6
new file mode 100755
index 0000000000..c475bdde13
--- /dev/null
+++ b/challenge-006/stuart-little/raku/ch-1.p6
@@ -0,0 +1,10 @@
+#!/usr/bin/env perl6
+use v6;
+
+# run as <script> <space-separated list entries>
+
+sub compactify(@a) {
+ S:g/\D*\-\D*/-/ with @a.sort.unique.map({ (($_-1,$_,$_+1).all == @a.any) ?? '-' !! $_ }).join(',')
+}
+
+say @*ARGS.map(*.Int).&compactify
diff --git a/challenge-006/stuart-little/raku/ch-2.p6 b/challenge-006/stuart-little/raku/ch-2.p6
new file mode 100755
index 0000000000..fb07fe23cd
--- /dev/null
+++ b/challenge-006/stuart-little/raku/ch-2.p6
@@ -0,0 +1,15 @@
+#!/usr/bin/env perl6
+use v6;
+
+# run as <script>
+
+use Inline::Perl5;
+my $p5 = Inline::Perl5.new;
+
+$p5.run(q{
+ use v5.12;
+ use Math::BigFloat;
+ Math::BigFloat->precision(-60);
+
+ say substr(Math::BigFloat->new('1')->bexp()->bpow(Math::BigFloat->bpi()->bmul(Math::BigFloat->new('163')->bsqrt())->bround(60)),0,52);
+ });