diff options
| author | 冯昶 <fengchang@novel-supertv.com> | 2021-05-03 20:47:16 +0800 |
|---|---|---|
| committer | 冯昶 <fengchang@novel-supertv.com> | 2021-05-03 20:47:16 +0800 |
| commit | b8a0f3583b84bf0f36e8789ac05523b472de9c73 (patch) | |
| tree | 4a3e79e0ea53880f002c262d55c83ef8607da610 /challenge-111/feng-chang | |
| parent | 81252bda7fb7bcc9e9e153a6b3d268ab8c1a38c8 (diff) | |
| download | perlweeklychallenge-club-b8a0f3583b84bf0f36e8789ac05523b472de9c73.tar.gz perlweeklychallenge-club-b8a0f3583b84bf0f36e8789ac05523b472de9c73.tar.bz2 perlweeklychallenge-club-b8a0f3583b84bf0f36e8789ac05523b472de9c73.zip | |
challenge 111, raku solutions
Diffstat (limited to 'challenge-111/feng-chang')
| -rwxr-xr-x | challenge-111/feng-chang/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-111/feng-chang/raku/ch-1.txt | 5 | ||||
| -rwxr-xr-x | challenge-111/feng-chang/raku/ch-2.raku | 7 |
3 files changed, 31 insertions, 0 deletions
diff --git a/challenge-111/feng-chang/raku/ch-1.raku b/challenge-111/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..0355d1e80c --- /dev/null +++ b/challenge-111/feng-chang/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/bin/env raku + +sub binary-search(@a, Int:D $start, Int:D $end, Int:D $n) { + my $middle = ($start + $end) div 2; + do given @a[$middle] { + when $_ == $n { 1 } + when $start == $end { 0 } + when $_ > $n { binary-search(@a, $start, $middle - 1, $n) } + default { binary-search(@a, $middle + 1, $end, $n) } + } +} + +sub MAIN( + Int:D $n, + Str:D $f where *.IO.f = 'ch-1.txt' +) { + my @a = $f.IO.words; + put binary-search(@a, 0, @a.elems - 1, $n); +} diff --git a/challenge-111/feng-chang/raku/ch-1.txt b/challenge-111/feng-chang/raku/ch-1.txt new file mode 100644 index 0000000000..1daf55c92c --- /dev/null +++ b/challenge-111/feng-chang/raku/ch-1.txt @@ -0,0 +1,5 @@ + 1 2 3 5 7 + 9 11 15 19 20 +23 24 25 29 31 +32 33 39 40 42 +45 47 48 49 50 diff --git a/challenge-111/feng-chang/raku/ch-2.raku b/challenge-111/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..a5d8d40c7d --- /dev/null +++ b/challenge-111/feng-chang/raku/ch-2.raku @@ -0,0 +1,7 @@ +#!/bin/env raku + +sub MAIN(Str:D $words where *.IO.e = '/usr/share/dict/words') { + my @w = $words.IO.words.grep({ [le] $_.lc.comb }); + my $max-length = @w».chars.max; + @w.grep(*.chars == $max-length).put; +} |
