aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-06-06 10:15:06 +0200
committerLuca Ferrari <fluca1978@gmail.com>2022-06-06 10:15:06 +0200
commit419a75e0d3adf1af222938e20750cb6e60b36639 (patch)
tree572adba00aba259e062d412a18afef7dfc18215c
parent34bcab0c854011b9443394ce8b421c7f7f75b161 (diff)
downloadperlweeklychallenge-club-419a75e0d3adf1af222938e20750cb6e60b36639.tar.gz
perlweeklychallenge-club-419a75e0d3adf1af222938e20750cb6e60b36639.tar.bz2
perlweeklychallenge-club-419a75e0d3adf1af222938e20750cb6e60b36639.zip
Task 1 done
-rwxr-xr-xchallenge-168/luca-ferrari/raku/ch-1.p621
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-168/luca-ferrari/raku/ch-1.p6 b/challenge-168/luca-ferrari/raku/ch-1.p6
new file mode 100755
index 0000000000..7059667b9b
--- /dev/null
+++ b/challenge-168/luca-ferrari/raku/ch-1.p6
@@ -0,0 +1,21 @@
+#!raku
+
+# Perl Weekly Challenge 168
+
+sub MAIN( Int $limit where { $limit > 1 } = 13 ) {
+
+ # this requires too much time!
+ # my @perrin = 3, 0, 2, -> $left, $right { $left + $right } ... *;
+ # my @perrin-primes = @perrin.grep( *.is-prime );
+ # @perrin-primes.unique.head( 3 ).join( "\n" ).say;
+
+ my @perrin = 3, 0, 2;
+ my @perrin-primes;
+
+ while ( @perrin-primes.elems < $limit ) {
+ @perrin.push: @perrin[ * - 2 ] + @perrin[ * - 3 ];
+ @perrin-primes.push: @perrin[ * - 1 ] if @perrin[ * - 1 ].is-prime && ! @perrin-primes.grep( @perrin[ * - 1 ] );
+ }
+
+ @perrin-primes.sort.join( "\n" ).say;
+}