diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-01-10 18:58:39 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-10 18:58:39 +0000 |
| commit | cb5c35460e929a96813b4cef987617543200de42 (patch) | |
| tree | b683a14d819b044bf5b9e62b8fc8752e679f5892 | |
| parent | 960cf4eedd2934aba4b2188e813bcc96628fd5df (diff) | |
| parent | 3e46de7a2b20d350796f3a4a84f5eb8dbe0c5456 (diff) | |
| download | perlweeklychallenge-club-cb5c35460e929a96813b4cef987617543200de42.tar.gz perlweeklychallenge-club-cb5c35460e929a96813b4cef987617543200de42.tar.bz2 perlweeklychallenge-club-cb5c35460e929a96813b4cef987617543200de42.zip | |
Merge pull request #5498 from andemark/branch-for-challenge-147
Branch for 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..e4dc7996fc --- /dev/null +++ b/challenge-147/mark-anderson/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +say (2, 3, { $_ + 2 } ... *).grep(&tp).head(20); + +multi tp(\n where *.index: 0) +{ + False +} + +multi tp(\n where * < 10) +{ + 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..e81d6177a0 --- /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 = (2200...1).map(&pentagonal); + +for @p.combinations: 2 +{ + 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) +{ + ((sqrt(24 * n + 1) + 1) / 6).narrow ~~ UInt +} |
