aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCY Fung <fungcheokyin@gmail.com>2022-08-01 21:08:06 +0800
committerCY Fung <fungcheokyin@gmail.com>2022-08-01 21:08:06 +0800
commitecd579b5aac5eeb8aba80a8afbca825545c66848 (patch)
tree01524039ffeb7d803489ba050124a4df3699a7d4
parentc579eaf2faec2bcc6e7e2b5956ef512c39e0a245 (diff)
downloadperlweeklychallenge-club-ecd579b5aac5eeb8aba80a8afbca825545c66848.tar.gz
perlweeklychallenge-club-ecd579b5aac5eeb8aba80a8afbca825545c66848.tar.bz2
perlweeklychallenge-club-ecd579b5aac5eeb8aba80a8afbca825545c66848.zip
Week 176
-rw-r--r--challenge-176/cheok-yin-fung/raku/ch-1.raku36
-rw-r--r--challenge-176/cheok-yin-fung/raku/ch-2.raku10
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-176/cheok-yin-fung/raku/ch-1.raku b/challenge-176/cheok-yin-fung/raku/ch-1.raku
new file mode 100644
index 0000000000..42170a19e1
--- /dev/null
+++ b/challenge-176/cheok-yin-fung/raku/ch-1.raku
@@ -0,0 +1,36 @@
+# The Weekly Challenge 176
+# Task 1 Permuted Multiples
+#
+# real 0m4.840s user 0m5.036s sys 0m0.020s
+use v6;
+
+my $t = 0;
+my $k = 1;
+while ($t < 1) {
+ $k++;
+ if $k ~~ /<[6789]>/ {
+ if (check_good("1"~$k, Array(2,3,4,5,6))) {
+ $t++;
+ say "1"~$k;
+ }
+ }
+}
+
+
+sub check_good ($i, @arr) {
+ my $count = 0;
+ my $dc = arrange($i);
+ for (@arr) {
+ if (arrange($_*$i) == $dc) {
+ $count++;
+ }
+ else {
+ last;
+ }
+ }
+ return $count == @arr.elems;
+}
+
+sub arrange ($i) {
+ return $i.split("").sort.join("");
+}
diff --git a/challenge-176/cheok-yin-fung/raku/ch-2.raku b/challenge-176/cheok-yin-fung/raku/ch-2.raku
new file mode 100644
index 0000000000..7c398769d9
--- /dev/null
+++ b/challenge-176/cheok-yin-fung/raku/ch-2.raku
@@ -0,0 +1,10 @@
+# The Weekly Challenge 176
+# Task 2 Reversible Numbers
+use v6;
+
+my @arr;
+for (1..99) {
+ push @arr, $_ if ($_ + flip $_ ) ~~ /^<[13579]>+$/ ;
+}
+
+say join ", ", @arr;