aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2022-12-21 10:57:52 +0800
committer冯昶 <fengchang@novel-supertv.com>2022-12-21 10:57:52 +0800
commit643223e879e682c91994f5ad7b773a2c86a1ab92 (patch)
tree613bb02ed2fdacbfb08a2cf1e26fdb2ac979359c
parentdd2a89a7880a924c4e3df167d71c34b4ed89a3fe (diff)
downloadperlweeklychallenge-club-643223e879e682c91994f5ad7b773a2c86a1ab92.tar.gz
perlweeklychallenge-club-643223e879e682c91994f5ad7b773a2c86a1ab92.tar.bz2
perlweeklychallenge-club-643223e879e682c91994f5ad7b773a2c86a1ab92.zip
challenge 196, raku solutions
-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(', ');