aboutsummaryrefslogtreecommitdiff
path: root/challenge-190
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-11-09 19:57:33 +0000
committerGitHub <noreply@github.com>2022-11-09 19:57:33 +0000
commiteaf3e4036fd239e290b2bf592178b82eada8822d (patch)
tree5e40159ee1b0d9f103afb2a9abaf566953f19889 /challenge-190
parent6cf1d0c981ba60eb34a32fcbbf64458484f6f101 (diff)
parent03d34bb7eee80f0a306e7e059ea8b34867fdc2f8 (diff)
downloadperlweeklychallenge-club-eaf3e4036fd239e290b2bf592178b82eada8822d.tar.gz
perlweeklychallenge-club-eaf3e4036fd239e290b2bf592178b82eada8822d.tar.bz2
perlweeklychallenge-club-eaf3e4036fd239e290b2bf592178b82eada8822d.zip
Merge pull request #7056 from seaker/master
challenge #190, Feng Chang's raku solutions
Diffstat (limited to 'challenge-190')
-rwxr-xr-xchallenge-190/feng-chang/raku/ch-1.raku4
-rwxr-xr-xchallenge-190/feng-chang/raku/ch-2.raku9
-rwxr-xr-xchallenge-190/feng-chang/raku/ch-2a.raku15
3 files changed, 28 insertions, 0 deletions
diff --git a/challenge-190/feng-chang/raku/ch-1.raku b/challenge-190/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..820deb0b18
--- /dev/null
+++ b/challenge-190/feng-chang/raku/ch-1.raku
@@ -0,0 +1,4 @@
+#!/bin/env raku
+
+unit sub MAIN(Str:D \s);
+put +so s eq s.lc.tc|s.lc|s.uc;
diff --git a/challenge-190/feng-chang/raku/ch-2.raku b/challenge-190/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..f8820083c5
--- /dev/null
+++ b/challenge-190/feng-chang/raku/ch-2.raku
@@ -0,0 +1,9 @@
+#!/bin/env raku
+
+unit sub MAIN(UInt:D \N);
+
+my $len = N.chars - 1;
+for ^2**$len -> \n {
+ my @A = (N.comb »Z~» n.fmt("\%0{$len}b").comb».trans(<0 1> => ('',' '))).join.comb(/\d+/);
+ put @A».&{ chr($_ - 1 + 'A'.ord) }.join if 1 ≤ @A.all ≤ 26;
+}
diff --git a/challenge-190/feng-chang/raku/ch-2a.raku b/challenge-190/feng-chang/raku/ch-2a.raku
new file mode 100755
index 0000000000..f8ea148f07
--- /dev/null
+++ b/challenge-190/feng-chang/raku/ch-2a.raku
@@ -0,0 +1,15 @@
+#!/bin/env raku
+
+unit sub MAIN(UInt:D \N);
+
+my $len = N.chars - 1;
+(^2**$len)
+ .map(-> \n {
+ (N.comb »Z~» n.fmt("\%0{$len}b").comb».trans(<0 1> => ('',' ')))
+ .join
+ .comb(/\d+/)
+ })
+ .grep({ 1 ≤ @$_.all ≤ 26 })
+ .map(-> $a {
+ @$a».&{ chr( $_ - 1 + 'A'.ord ) }.join.put
+ });