aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2022-03-07 12:35:29 +0000
committerMark <53903062+andemark@users.noreply.github.com>2022-03-07 12:35:29 +0000
commitc42fc734efce3ccfe4c0184516a96f8a3399bf80 (patch)
tree757c21a35ca8753079b64b0da89b3d812e900eb9
parent533e5d6075971e41e6dd166244895e2bd25ad912 (diff)
downloadperlweeklychallenge-club-c42fc734efce3ccfe4c0184516a96f8a3399bf80.tar.gz
perlweeklychallenge-club-c42fc734efce3ccfe4c0184516a96f8a3399bf80.tar.bz2
perlweeklychallenge-club-c42fc734efce3ccfe4c0184516a96f8a3399bf80.zip
Challenge 155 Solutions (Raku)
-rw-r--r--challenge-155/mark-anderson/raku/ch-1.raku10
-rw-r--r--challenge-155/mark-anderson/raku/ch-2.raku16
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-155/mark-anderson/raku/ch-1.raku b/challenge-155/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..54687d0a2a
--- /dev/null
+++ b/challenge-155/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,10 @@
+#!/usr/bin/env raku
+
+say sort unique (1..*).map(&fortunate).head(8);
+
+sub fortunate(\n)
+{
+ my \primorial = [*] (2..*).grep(&is-prime).head(n);
+
+ (primorial+2..*).first(&is-prime) - primorial;
+}
diff --git a/challenge-155/mark-anderson/raku/ch-2.raku b/challenge-155/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..c7255cf1a7
--- /dev/null
+++ b/challenge-155/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+use Test;
+
+is pisano-period(3), 8;
+
+sub pisano-period(\n)
+{
+ my $mods := (0, 1, * + * ... *).map(* mod n).head(1000).List;
+
+ for 1..500
+ {
+ my $r := $mods.rotor($_).List;
+ return $r.head.elems if [eqv] $r;
+ }
+}