aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-09-05 01:36:19 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-09-05 01:36:19 +0100
commit46c5946c529b5fb90a673a124e8695d1cc9e8106 (patch)
tree17cc9db5c79f39d0a87a550509c540b2a4871fa3
parentbd174ebd48f0d3bba4104bae01ee8f6db0706294 (diff)
downloadperlweeklychallenge-club-46c5946c529b5fb90a673a124e8695d1cc9e8106.tar.gz
perlweeklychallenge-club-46c5946c529b5fb90a673a124e8695d1cc9e8106.tar.bz2
perlweeklychallenge-club-46c5946c529b5fb90a673a124e8695d1cc9e8106.zip
- Added unit test for "Prime Sum" task in Raku.
-rwxr-xr-xchallenge-076/mohammad-anwar/raku/ch-1.t38
1 files changed, 38 insertions, 0 deletions
diff --git a/challenge-076/mohammad-anwar/raku/ch-1.t b/challenge-076/mohammad-anwar/raku/ch-1.t
new file mode 100755
index 0000000000..c1674708f8
--- /dev/null
+++ b/challenge-076/mohammad-anwar/raku/ch-1.t
@@ -0,0 +1,38 @@
+#!/usr/bin/env raku
+
+#
+# Perl Weekly Challenge - 076
+#
+# Task #1: Prime Sum
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-076
+#
+
+use Test;
+
+is-deeply prime-sum(9).<>, [(2, 7),], "prime sum = 9";
+is-deeply prime-sum(12).<>, [(5, 7), (2, 3, 7)], "prime sum = 12";
+
+done-testing;
+
+#
+#
+# METHODS
+
+sub prime-sum(Int $sum) {
+
+ my @prime = find-prime-upto($sum);
+ my @prime-sum = Empty;
+ for 1..$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 };
+}