From f9c8c04e36aaedacaeafc77e1876fc23aa2f9712 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 10 Jan 2022 11:58:34 +0000 Subject: initial 147 --- challenge-147/mark-anderson/raku/ch-1.raku | 19 +++++++++++++++++++ challenge-147/mark-anderson/raku/ch-2.raku | 24 ++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 challenge-147/mark-anderson/raku/ch-1.raku create mode 100644 challenge-147/mark-anderson/raku/ch-2.raku 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; +} -- cgit From fbfebf58be7a8afcc48a3ec4157f69e7d5bb8c9b Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 10 Jan 2022 12:01:27 +0000 Subject: initial 147 --- challenge-147/mark-anderson/raku/ch-2.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-147/mark-anderson/raku/ch-2.raku b/challenge-147/mark-anderson/raku/ch-2.raku index d7581ebace..eaadb8c978 100644 --- a/challenge-147/mark-anderson/raku/ch-2.raku +++ b/challenge-147/mark-anderson/raku/ch-2.raku @@ -20,5 +20,5 @@ sub pentagonal(\n) sub is-pentagonal(\n) { - return (((sqrt(24 * n + 1)) + 1) / 6).narrow ~~ UInt; + (((sqrt(24 * n + 1)) + 1) / 6).narrow ~~ UInt; } -- cgit From 1563c0f338e0ea069fa490609ef2cb0f3caab418 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 10 Jan 2022 12:06:43 +0000 Subject: initial 147 --- challenge-147/mark-anderson/raku/ch-2.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-147/mark-anderson/raku/ch-2.raku b/challenge-147/mark-anderson/raku/ch-2.raku index eaadb8c978..8efa8baf9a 100644 --- a/challenge-147/mark-anderson/raku/ch-2.raku +++ b/challenge-147/mark-anderson/raku/ch-2.raku @@ -2,7 +2,7 @@ # Through trial and error I came up with the ~2200 figure. -my @p = reverse (1..2200).map(&pentagonal); +my @p = (2200...1).map(&pentagonal); for @p X @p { -- cgit From fe78c723122108e7f1efb36ed8983b022cbe7463 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 10 Jan 2022 12:12:12 +0000 Subject: initial 147 --- challenge-147/mark-anderson/raku/ch-2.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-147/mark-anderson/raku/ch-2.raku b/challenge-147/mark-anderson/raku/ch-2.raku index 8efa8baf9a..d8a6da138d 100644 --- a/challenge-147/mark-anderson/raku/ch-2.raku +++ b/challenge-147/mark-anderson/raku/ch-2.raku @@ -20,5 +20,5 @@ sub pentagonal(\n) sub is-pentagonal(\n) { - (((sqrt(24 * n + 1)) + 1) / 6).narrow ~~ UInt; + ((sqrt(24 * n + 1) + 1) / 6).narrow ~~ UInt; } -- cgit From f4e1ecce21d107101cb0d53bf700ac9ac34cbaa8 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 10 Jan 2022 12:22:36 +0000 Subject: initial 147 --- challenge-147/mark-anderson/raku/ch-1.raku | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/challenge-147/mark-anderson/raku/ch-1.raku b/challenge-147/mark-anderson/raku/ch-1.raku index 5780420a53..08ec5151c8 100644 --- a/challenge-147/mark-anderson/raku/ch-1.raku +++ b/challenge-147/mark-anderson/raku/ch-1.raku @@ -1,15 +1,15 @@ #!/usr/bin/env raku -say (1, 2, 3, { $_ + 2 } ... *).grep(&tp).head(20); +say (2, 3, { $_ + 2 } ... *).grep(&tp).head(20); multi tp(\n where *.index: 0) { - return False; + False; } multi tp(\n where * < 10) { - return n.is-prime + n.is-prime } multi tp(\n) -- cgit From d58d7f254facc6928e740b9c7d9418843c37c912 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 10 Jan 2022 12:51:28 +0000 Subject: initial 147 --- challenge-147/mark-anderson/raku/ch-2.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-147/mark-anderson/raku/ch-2.raku b/challenge-147/mark-anderson/raku/ch-2.raku index d8a6da138d..b13641a58f 100644 --- a/challenge-147/mark-anderson/raku/ch-2.raku +++ b/challenge-147/mark-anderson/raku/ch-2.raku @@ -4,7 +4,7 @@ my @p = (2200...1).map(&pentagonal); -for @p X @p +for @p.combinations: 2 { if is-pentagonal(.head + .tail) and is-pentagonal(abs(.head - .tail)) { -- cgit From 3e46de7a2b20d350796f3a4a84f5eb8dbe0c5456 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Mon, 10 Jan 2022 13:03:59 +0000 Subject: initial 147 --- challenge-147/mark-anderson/raku/ch-1.raku | 2 +- challenge-147/mark-anderson/raku/ch-2.raku | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/challenge-147/mark-anderson/raku/ch-1.raku b/challenge-147/mark-anderson/raku/ch-1.raku index 08ec5151c8..e4dc7996fc 100644 --- a/challenge-147/mark-anderson/raku/ch-1.raku +++ b/challenge-147/mark-anderson/raku/ch-1.raku @@ -4,7 +4,7 @@ say (2, 3, { $_ + 2 } ... *).grep(&tp).head(20); multi tp(\n where *.index: 0) { - False; + False } multi tp(\n where * < 10) diff --git a/challenge-147/mark-anderson/raku/ch-2.raku b/challenge-147/mark-anderson/raku/ch-2.raku index b13641a58f..e81d6177a0 100644 --- a/challenge-147/mark-anderson/raku/ch-2.raku +++ b/challenge-147/mark-anderson/raku/ch-2.raku @@ -20,5 +20,5 @@ sub pentagonal(\n) sub is-pentagonal(\n) { - ((sqrt(24 * n + 1) + 1) / 6).narrow ~~ UInt; + ((sqrt(24 * n + 1) + 1) / 6).narrow ~~ UInt } -- cgit