diff options
| -rw-r--r-- | challenge-076/simon-proctor/raku/ch-1.raku | 23 |
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; + } + } + } +} |
