From afc79dd7b7763eb827655fa1dd91b04360b09dc1 Mon Sep 17 00:00:00 2001 From: Simon Proctor Date: Tue, 1 Sep 2020 09:56:21 +0100 Subject: Prime number stuff --- challenge-076/simon-proctor/raku/ch-1.raku | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 challenge-076/simon-proctor/raku/ch-1.raku 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; + } + } + } +} -- cgit