aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-09-05 00:59:11 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-09-05 00:59:11 +0100
commitc94ef56d8c70a9ea0cd9e9257b36eb495f30b777 (patch)
tree772858425987b05283d7332f6a8931f75be3bfb6
parent9943bca0cc795e0071a38e8834f37772bf2e7084 (diff)
downloadperlweeklychallenge-club-c94ef56d8c70a9ea0cd9e9257b36eb495f30b777.tar.gz
perlweeklychallenge-club-c94ef56d8c70a9ea0cd9e9257b36eb495f30b777.tar.bz2
perlweeklychallenge-club-c94ef56d8c70a9ea0cd9e9257b36eb495f30b777.zip
- Added Raku solution to "Prime Sum" task.
-rwxr-xr-xchallenge-076/mohammad-anwar/raku/ch-1.raku33
1 files changed, 33 insertions, 0 deletions
diff --git a/challenge-076/mohammad-anwar/raku/ch-1.raku b/challenge-076/mohammad-anwar/raku/ch-1.raku
new file mode 100755
index 0000000000..ff88af4efc
--- /dev/null
+++ b/challenge-076/mohammad-anwar/raku/ch-1.raku
@@ -0,0 +1,33 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 076
+#
+# Task #1: Prime Sum
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-076
+#
+
+use v6.d;
+
+sub MAIN(Int $SUM where $SUM > 0) {
+ prime-sum($SUM).join("\n").say;
+}
+
+sub prime-sum(Int $sum) {
+
+ my @prime = find-prime-upto($sum);
+ my @prime-sum = Empty;
+ for 2..$sum -> $i {
+ for @prime.combinations: $i -> $j {
+ my $_sum = [+] $j;
+ @prime-sum.push: $j if $_sum == $sum;
+ }
+ }
+
+ return @prime-sum;
+}
+
+sub find-prime-upto(Int $sum) {
+ return (2..$sum).grep: { .is-prime };
+}