diff options
| -rwxr-xr-x | challenge-004/arne-sommer/perl6/ch-1.p6 | 1 | ||||
| -rwxr-xr-x | challenge-004/arne-sommer/perl6/ch-2.p6 | 32 | ||||
| -rw-r--r-- | challenge-004/arne-sommer/perl6/lib/.precomp/.lock | 0 | ||||
| -rw-r--r-- | challenge-004/arne-sommer/perl6/lib/PiXL.pm6 | 7 | ||||
| -rwxr-xr-x | challenge-004/arne-sommer/perl6/say-pi-module | 7 | ||||
| -rw-r--r-- | challenge-004/arne-sommer/perl6/words.txt | 10 |
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 |
