aboutsummaryrefslogtreecommitdiff
path: root/challenge-155
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-03-07 11:19:17 +0100
committerLuca Ferrari <fluca1978@gmail.com>2022-03-07 11:19:17 +0100
commit5429ecb3f4dd82a22072e3fbcefb51b088e02aa0 (patch)
tree1c7fa3a10bcf2e9208c7c7882f5030f2b649c193 /challenge-155
parent533e5d6075971e41e6dd166244895e2bd25ad912 (diff)
downloadperlweeklychallenge-club-5429ecb3f4dd82a22072e3fbcefb51b088e02aa0.tar.gz
perlweeklychallenge-club-5429ecb3f4dd82a22072e3fbcefb51b088e02aa0.tar.bz2
perlweeklychallenge-club-5429ecb3f4dd82a22072e3fbcefb51b088e02aa0.zip
Task 1 done
Diffstat (limited to 'challenge-155')
-rwxr-xr-xchallenge-155/luca-ferrari/raku/ch-1.p622
1 files changed, 22 insertions, 0 deletions
diff --git a/challenge-155/luca-ferrari/raku/ch-1.p6 b/challenge-155/luca-ferrari/raku/ch-1.p6
new file mode 100755
index 0000000000..1eb9734339
--- /dev/null
+++ b/challenge-155/luca-ferrari/raku/ch-1.p6
@@ -0,0 +1,22 @@
+#!raku
+
+sub MAIN( Int $limit where { $limit > 0 } = 8 ) {
+ my @fortunate-numbers = lazy gather {
+ for 2 .. Inf {
+ my @pn = ( 1 .. $_ ).grep: *.is-prime;
+ next if ! @pn;
+ for @pn.max + 1 .. Inf -> $m {
+ take $m and last if ( ( [*] @pn ) + $m ).is-prime;
+ }
+ }
+ }
+
+ my @unique-fortunate-numbers;
+ my $last-number = 0;
+ while ( @unique-fortunate-numbers.elems < $limit ) {
+ my $fortunate = @fortunate-numbers[ $last-number++ ];
+ @unique-fortunate-numbers.push: $fortunate if ! @unique-fortunate-numbers.grep: * ~~ $fortunate;
+ }
+
+ @unique-fortunate-numbers[ 0 .. $limit ].sort.join( "\n" ).say;
+}