diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-05 00:59:11 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-05 00:59:11 +0100 |
| commit | c94ef56d8c70a9ea0cd9e9257b36eb495f30b777 (patch) | |
| tree | 772858425987b05283d7332f6a8931f75be3bfb6 | |
| parent | 9943bca0cc795e0071a38e8834f37772bf2e7084 (diff) | |
| download | perlweeklychallenge-club-c94ef56d8c70a9ea0cd9e9257b36eb495f30b777.tar.gz perlweeklychallenge-club-c94ef56d8c70a9ea0cd9e9257b36eb495f30b777.tar.bz2 perlweeklychallenge-club-c94ef56d8c70a9ea0cd9e9257b36eb495f30b777.zip | |
- Added Raku solution to "Prime Sum" task.
| -rwxr-xr-x | challenge-076/mohammad-anwar/raku/ch-1.raku | 33 |
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 }; +} |
