aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-09-01 10:09:51 +0100
committerGitHub <noreply@github.com>2020-09-01 10:09:51 +0100
commitc704416f45af3bcd0bc98e542bf7dea343afab62 (patch)
tree58c115e1f9d51efbcb01d2fde428624a0fc60239
parentad406a41ba208abc5a47817fc4091d337fbb8e7d (diff)
parentafc79dd7b7763eb827655fa1dd91b04360b09dc1 (diff)
downloadperlweeklychallenge-club-c704416f45af3bcd0bc98e542bf7dea343afab62.tar.gz
perlweeklychallenge-club-c704416f45af3bcd0bc98e542bf7dea343afab62.tar.bz2
perlweeklychallenge-club-c704416f45af3bcd0bc98e542bf7dea343afab62.zip
Merge pull request #2183 from Scimon/master
Prime number stuff
-rw-r--r--challenge-076/simon-proctor/raku/ch-1.raku23
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-076/simon-proctor/raku/ch-1.raku b/challenge-076/simon-proctor/raku/ch-1.raku
new file mode 100644
index 0000000000..f9e5fb08ee
--- /dev/null
+++ b/challenge-076/simon-proctor/raku/ch-1.raku
@@ -0,0 +1,23 @@
+#!/usr/bin/env raku
+
+use v6;
+
+my %*SUB-MAIN-OPTS = :named-anywhere;
+
+#| Find 2 prime numbers greater than 1 that add up to the target number
+sub MAIN (
+ UInt $n where * >= 4, #= Target number (must be 4 or greater)
+ Bool :a(:$all) = False #= Print all possible combinations
+) {
+ my @primes = (2..$n-1).grep(*.is-prime);
+ for @primes.reverse -> $large {
+ next unless $large + any(@primes) == $n;
+ exit if $large < $n / 2;
+ for @primes -> $small {
+ if $large + $small == $n {
+ say "$large + $small = $n";
+ exit unless $all;
+ }
+ }
+ }
+}