aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-196/feng-chang/raku/ch-1.raku5
-rwxr-xr-xchallenge-196/feng-chang/raku/ch-2.raku13
2 files changed, 18 insertions, 0 deletions
diff --git a/challenge-196/feng-chang/raku/ch-1.raku b/challenge-196/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..92209a5f0d
--- /dev/null
+++ b/challenge-196/feng-chang/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N);
+
+put @N[(^+@N X ^+@N X ^+@N).grep({ .[0] < .[1] < .[2] }).first({ @N[.[0]] < @N[.[2]] < @N[.[1]] }) // []].gist;
diff --git a/challenge-196/feng-chang/raku/ch-2.raku b/challenge-196/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..f05e4a3e78
--- /dev/null
+++ b/challenge-196/feng-chang/raku/ch-2.raku
@@ -0,0 +1,13 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N);
+
+@N = @N».Int;
+my @ndx = (^+@N X ^+@N)
+ .grep({ .[0] < .[1] })
+ .grep({
+ all(@N[.[0]]..@N[.[1]]) (elem) @N and
+ (.[0] == 0 or .[0] > 0 and @N[.[0]]-1 !(elem) @N) and
+ (.[1] == +@N-1 or .[1] < +@N-1 and @N[.[1]]+1 !(elem) @N)
+ });
+put @ndx.map({ "[{@N[.[0]]},{@N[.[1]]}]" }).join(', ');