aboutsummaryrefslogtreecommitdiff
path: root/challenge-116
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-116')
-rwxr-xr-xchallenge-116/feng-chang/raku/ch-1.raku18
-rwxr-xr-xchallenge-116/feng-chang/raku/ch-2.raku5
2 files changed, 23 insertions, 0 deletions
diff --git a/challenge-116/feng-chang/raku/ch-1.raku b/challenge-116/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..f6191bcb70
--- /dev/null
+++ b/challenge-116/feng-chang/raku/ch-1.raku
@@ -0,0 +1,18 @@
+#!/bin/env raku
+
+sub MAIN(UInt:D $N where * ≥ 10) {
+ for 1 .. $N.chars div 2 -> $len {
+ my $n = $N;
+ my $i = $n.substr(0, $len);
+ while $n.chars > 0 {
+ last unless $n.substr(0, $i.chars) eq $i;
+ $n .= substr($i.chars);
+ ++$i;
+ }
+ if $n.chars == 0 {
+ put 1;
+ exit;
+ }
+ }
+ put 0;
+}
diff --git a/challenge-116/feng-chang/raku/ch-2.raku b/challenge-116/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..8ece4d5102
--- /dev/null
+++ b/challenge-116/feng-chang/raku/ch-2.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+sub MAIN(UInt:D $N where * ≥ 10) {
+ put $N.comb».Int.map(*²).reduce(&infix:<+>).&{ +(sqrt($_).Int² == $_) };
+}