diff options
| author | 冯昶 <seaker@qq.com> | 2022-02-10 18:08:35 +0800 |
|---|---|---|
| committer | 冯昶 <seaker@qq.com> | 2022-02-10 18:08:35 +0800 |
| commit | d6546fb6c2bbdfa0f14c0e42ad5e86acd0aa0cc5 (patch) | |
| tree | 7caf5fe0d1a23af27322d4ce7bc7ebe800427414 /challenge-147 | |
| parent | 24d07638f45f70838ba3721106c5c4f6d992f69e (diff) | |
| download | perlweeklychallenge-club-d6546fb6c2bbdfa0f14c0e42ad5e86acd0aa0cc5.tar.gz perlweeklychallenge-club-d6546fb6c2bbdfa0f14c0e42ad5e86acd0aa0cc5.tar.bz2 perlweeklychallenge-club-d6546fb6c2bbdfa0f14c0e42ad5e86acd0aa0cc5.zip | |
challenge 151 raku solutions
Diffstat (limited to 'challenge-147')
| -rwxr-xr-x | challenge-147/feng-chang/raku/ch-1.raku | 2 | ||||
| -rwxr-xr-x | challenge-147/feng-chang/raku/ch-2a.raku | 22 |
2 files changed, 23 insertions, 1 deletions
diff --git a/challenge-147/feng-chang/raku/ch-1.raku b/challenge-147/feng-chang/raku/ch-1.raku index d3dab98fae..41da33cad4 100755 --- a/challenge-147/feng-chang/raku/ch-1.raku +++ b/challenge-147/feng-chang/raku/ch-1.raku @@ -5,7 +5,7 @@ unit sub MAIN(UInt:D \num = 20); my @lefty-primes = 2, 3, 5, 7; my ($start, $end) = 0, 3; -my UInt $sz = @lefty-primes.elems; +my UInt $sz = @lefty-primes.elems; while $sz < num { for 1..9 -> \d { diff --git a/challenge-147/feng-chang/raku/ch-2a.raku b/challenge-147/feng-chang/raku/ch-2a.raku new file mode 100755 index 0000000000..bf937bd660 --- /dev/null +++ b/challenge-147/feng-chang/raku/ch-2a.raku @@ -0,0 +1,22 @@ +#!/bin/env raku + +# reference https://gfldex.wordpress.com/2022/01/15/manual-hypering/ + +sub needle(int \b) { + sub is-pentagon(\n is raw) { (1 + sqrt(1 + 24 * n)) %% 6 } + sub P(\n is raw) { n * (3 * n - 1) div 2 } + + loop (my int $s = 1; $s < b; ++$s) { + my \bp = P(b); + my \sp = P($s); + if is-pentagon(bp + sp) && is-pentagon(bp - sp) { + return |(b, $s); + } + } +} + +sub infix:<notnilor>(\maybenil, \alternative) { + maybenil =:= Nil ?? alternative !! maybenil +} + +say (^∞).hyper(:batch(8), :degree(16)).map({ $_ with .&needle }).head; |
