diff options
Diffstat (limited to 'challenge-116')
| -rwxr-xr-x | challenge-116/feng-chang/raku/ch-1.raku | 18 | ||||
| -rwxr-xr-x | challenge-116/feng-chang/raku/ch-2.raku | 5 |
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² == $_) }; +} |
