aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-01-31 13:10:48 +0000
committerGitHub <noreply@github.com>2024-01-31 13:10:48 +0000
commit1b438d31965f61d3095c183d1a1024a2545c023b (patch)
tree70b0cd6693b1cbd159de9a11a0aa0d6f9b5365a4
parent55aef4c9aa7a10f9e271813424a4a0c4ba53301d (diff)
parent9d084b8b424f33a6fcc4d6fc56958a35f510c159 (diff)
downloadperlweeklychallenge-club-1b438d31965f61d3095c183d1a1024a2545c023b.tar.gz
perlweeklychallenge-club-1b438d31965f61d3095c183d1a1024a2545c023b.tar.bz2
perlweeklychallenge-club-1b438d31965f61d3095c183d1a1024a2545c023b.zip
Merge pull request #9484 from andemark/challenge-254
Challenge 254 Solutions (Raku)
-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
+}