aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2020-09-06 19:47:21 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2020-09-06 19:47:21 +0200
commit4484655025de1a65c58feef63b77c7b7f2400d07 (patch)
tree6e790a6df797fe09e47a1a8f2e538b791eb591dd
parent971b5ca4d20a6373481ec26c05e54ac89d938974 (diff)
downloadperlweeklychallenge-club-4484655025de1a65c58feef63b77c7b7f2400d07.tar.gz
perlweeklychallenge-club-4484655025de1a65c58feef63b77c7b7f2400d07.tar.bz2
perlweeklychallenge-club-4484655025de1a65c58feef63b77c7b7f2400d07.zip
solution week 076-1
-rw-r--r--challenge-076/wambash/raku/ch-1.raku25
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-076/wambash/raku/ch-1.raku b/challenge-076/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..6749aab021
--- /dev/null
+++ b/challenge-076/wambash/raku/ch-1.raku
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+#https://en.wikipedia.org/wiki/Goldbach%27s_conjecture
+#Maybe, it does not work for all natural numbers.
+
+subset OddPrime of Int where { $_ !%% 2 & .is-prime };
+subset OddPrimeSucc of Int where { $_ !%% 2 & ($_-2).is-prime };
+subset Even of Int where * %% 2;
+
+proto prime-sum ($ where * ≥ 2 ) {*}
+multi prime-sum ( 2 --> 1 ) {}
+multi prime-sum (OddPrime $ --> 1 ) {}
+multi prime-sum (Even $ --> 2 ) {}
+multi prime-sum (OddPrimeSucc $ --> 2 ) {}
+multi prime-sum ( $ --> 3 ) {}
+
+sub MAIN (:$test) {
+ use Test;
+ is prime-sum(2), 1;
+ is prime-sum(4), 2;
+ is prime-sum(13), 1;
+ is prime-sum(9), 2;
+ is prime-sum(27), 3;
+ dies-ok { prime-sum(1) };
+ done-testing();
+}