aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-004/arne-sommer/perl6/ch-1.p61
-rwxr-xr-xchallenge-004/arne-sommer/perl6/ch-2.p632
-rw-r--r--challenge-004/arne-sommer/perl6/lib/.precomp/.lock0
-rw-r--r--challenge-004/arne-sommer/perl6/lib/PiXL.pm67
-rwxr-xr-xchallenge-004/arne-sommer/perl6/say-pi-module7
-rw-r--r--challenge-004/arne-sommer/perl6/words.txt10
6 files changed, 57 insertions, 0 deletions
diff --git a/challenge-004/arne-sommer/perl6/ch-1.p6 b/challenge-004/arne-sommer/perl6/ch-1.p6
new file mode 100755
index 0000000000..baff33cc40
--- /dev/null
+++ b/challenge-004/arne-sommer/perl6/ch-1.p6
@@ -0,0 +1 @@
+say pi.fmt('%.19f') \ No newline at end of file
diff --git a/challenge-004/arne-sommer/perl6/ch-2.p6 b/challenge-004/arne-sommer/perl6/ch-2.p6
new file mode 100755
index 0000000000..3d65286eb7
--- /dev/null
+++ b/challenge-004/arne-sommer/perl6/ch-2.p6
@@ -0,0 +1,32 @@
+#! /usr/bin/env perl6
+
+my @letters;
+my %words is SetHash;
+
+for lines() -> $word-or-character
+{
+ if $word-or-character.chars == 1
+ {
+ @letters.push($word-or-character.lc);
+ }
+ else
+ {
+ %words{$word-or-character.lc} = True;
+ }
+}
+
+my $max-length = %words.keys>>.chars.max;
+
+my %seen;
+
+for @letters.combinations: 2 .. $max-length -> $candidate
+{
+ my $word = $candidate.join;
+ next if %seen{$word};
+ %seen{$word} = True;
+
+ for $word.comb.permutations.map(*.join).sort.unique -> $possible
+ {
+ say $possible if %words{$possible};
+ }
+} \ No newline at end of file
diff --git a/challenge-004/arne-sommer/perl6/lib/.precomp/.lock b/challenge-004/arne-sommer/perl6/lib/.precomp/.lock
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/challenge-004/arne-sommer/perl6/lib/.precomp/.lock
diff --git a/challenge-004/arne-sommer/perl6/lib/PiXL.pm6 b/challenge-004/arne-sommer/perl6/lib/PiXL.pm6
new file mode 100644
index 0000000000..f1faecb735
--- /dev/null
+++ b/challenge-004/arne-sommer/perl6/lib/PiXL.pm6
@@ -0,0 +1,7 @@
+use v6.d;
+
+unit module PiXL;
+
+our constant $PI is export = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989";
+
+
diff --git a/challenge-004/arne-sommer/perl6/say-pi-module b/challenge-004/arne-sommer/perl6/say-pi-module
new file mode 100755
index 0000000000..4cb72278d1
--- /dev/null
+++ b/challenge-004/arne-sommer/perl6/say-pi-module
@@ -0,0 +1,7 @@
+#! /usr/bin/env perl6
+
+use lib "lib";
+
+use PiXL;
+
+say $PI.substr(0, $?FILE.IO.s -1);
diff --git a/challenge-004/arne-sommer/perl6/words.txt b/challenge-004/arne-sommer/perl6/words.txt
new file mode 100644
index 0000000000..dc21c5df52
--- /dev/null
+++ b/challenge-004/arne-sommer/perl6/words.txt
@@ -0,0 +1,10 @@
+abba
+axiom
+a
+b
+b
+a
+cello
+bab
+x
+f