diff options
| author | Mark <53903062+andemark@users.noreply.github.com> | 2022-01-10 11:58:34 +0000 |
|---|---|---|
| committer | Mark <53903062+andemark@users.noreply.github.com> | 2022-01-10 11:58:34 +0000 |
| commit | f9c8c04e36aaedacaeafc77e1876fc23aa2f9712 (patch) | |
| tree | dbe35d47c707e83e366bacff12575666523345f4 /challenge-147 | |
| parent | e9411bdc7658179af3f23d3ada7970323547a7d7 (diff) | |
| download | perlweeklychallenge-club-f9c8c04e36aaedacaeafc77e1876fc23aa2f9712.tar.gz perlweeklychallenge-club-f9c8c04e36aaedacaeafc77e1876fc23aa2f9712.tar.bz2 perlweeklychallenge-club-f9c8c04e36aaedacaeafc77e1876fc23aa2f9712.zip | |
initial 147
Diffstat (limited to 'challenge-147')
| -rw-r--r-- | challenge-147/mark-anderson/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-147/mark-anderson/raku/ch-2.raku | 24 |
2 files changed, 43 insertions, 0 deletions
diff --git a/challenge-147/mark-anderson/raku/ch-1.raku b/challenge-147/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..5780420a53 --- /dev/null +++ b/challenge-147/mark-anderson/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +say (1, 2, 3, { $_ + 2 } ... *).grep(&tp).head(20); + +multi tp(\n where *.index: 0) +{ + return False; +} + +multi tp(\n where * < 10) +{ + return n.is-prime +} + +multi tp(\n) +{ + return False unless n.is-prime; + samewith(n.substr: 1); +} diff --git a/challenge-147/mark-anderson/raku/ch-2.raku b/challenge-147/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..d7581ebace --- /dev/null +++ b/challenge-147/mark-anderson/raku/ch-2.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +# Through trial and error I came up with the ~2200 figure. + +my @p = reverse (1..2200).map(&pentagonal); + +for @p X @p +{ + if is-pentagonal(.head + .tail) and is-pentagonal(abs(.head - .tail)) + { + say .head ~ ", " ~ .tail; + last; + } +} + +sub pentagonal(\n) +{ + n * (3 * n - 1) / 2 +} + +sub is-pentagonal(\n) +{ + return (((sqrt(24 * n + 1)) + 1) / 6).narrow ~~ UInt; +} |
