aboutsummaryrefslogtreecommitdiff
path: root/challenge-254
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2024-01-29 12:22:37 +0000
committerMark <53903062+andemark@users.noreply.github.com>2024-01-29 12:22:37 +0000
commit9d084b8b424f33a6fcc4d6fc56958a35f510c159 (patch)
treed163dbd3bd9d936018481f35d217603f1ed562f3 /challenge-254
parent4099837cf3689e1d78a66905fde9c5a45ff95940 (diff)
downloadperlweeklychallenge-club-9d084b8b424f33a6fcc4d6fc56958a35f510c159.tar.gz
perlweeklychallenge-club-9d084b8b424f33a6fcc4d6fc56958a35f510c159.tar.bz2
perlweeklychallenge-club-9d084b8b424f33a6fcc4d6fc56958a35f510c159.zip
Challenge 254 Solutions (Raku)
Diffstat (limited to 'challenge-254')
-rw-r--r--challenge-254/mark-anderson/raku/ch-1.raku26
-rw-r--r--challenge-254/mark-anderson/raku/ch-2.raku16
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-254/mark-anderson/raku/ch-1.raku b/challenge-254/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..95125ba617
--- /dev/null
+++ b/challenge-254/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,26 @@
+#!/usr/bin/env raku
+use Test;
+
+# https://oeis.org/A000578/b000578.txt
+
+ok three-power(27);
+ok three-power(0);
+nok three-power(6);
+nok three-power(999400119991);
+ok three-power(999400119992);
+nok three-power(999400119993);
+is-deeply (^Inf).hyper(batch => 4096).grep(&three-power).skip(100).head(10), (1000000,
+ 1030301,
+ 1061208,
+ 1092727,
+ 1124864,
+ 1157625,
+ 1191016,
+ 1225043,
+ 1259712,
+ 1295029);
+
+sub three-power($n)
+{
+ $n == exp(3, exp(1/3, $n).ceiling)
+}
diff --git a/challenge-254/mark-anderson/raku/ch-2.raku b/challenge-254/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..2180e0ebf9
--- /dev/null
+++ b/challenge-254/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+use Test;
+
+is reverse-vowels("Raku"), "Ruka";
+is reverse-vowels("Perl"), "Perl";
+is reverse-vowels("Julia"), "Jaliu";
+is reverse-vowels("Uiua"), "Auiu";
+is reverse-vowels("Supercalifragilisticexpialidocious"), "Suporcilofrigalistecixpiiladicaeus";
+
+sub reverse-vowels($w)
+{
+ my @a = $w.comb;
+ my @i = @a.grep(/:i<[aeiou]>/, :k);
+ @a[@i] .= reverse;
+ tclc [~] @a
+}