aboutsummaryrefslogtreecommitdiff
path: root/challenge-199
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-199')
-rwxr-xr-xchallenge-199/feng-chang/raku/ch-1.raku7
-rwxr-xr-xchallenge-199/feng-chang/raku/ch-1a.raku5
-rwxr-xr-xchallenge-199/feng-chang/raku/ch-2.raku9
3 files changed, 21 insertions, 0 deletions
diff --git a/challenge-199/feng-chang/raku/ch-1.raku b/challenge-199/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..5b485fd2cb
--- /dev/null
+++ b/challenge-199/feng-chang/raku/ch-1.raku
@@ -0,0 +1,7 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N);
+
+put @N.unique.map(-> \j {
+ @N.grep(j, :k).combinations(2).elems
+}).sum;
diff --git a/challenge-199/feng-chang/raku/ch-1a.raku b/challenge-199/feng-chang/raku/ch-1a.raku
new file mode 100755
index 0000000000..c195fde90f
--- /dev/null
+++ b/challenge-199/feng-chang/raku/ch-1a.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N);
+
+put @N.Bag.values.map({ $_*($_-1)/2 }).sum;
diff --git a/challenge-199/feng-chang/raku/ch-2.raku b/challenge-199/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..486651d5ec
--- /dev/null
+++ b/challenge-199/feng-chang/raku/ch-2.raku
@@ -0,0 +1,9 @@
+#!/bin/env raku
+
+unit sub MAIN(UInt:D $x, UInt:D $y, UInt:D $z, *@N);
+
+put (^+@N).combinations(3).grep({
+ abs(@N[.[0]] - @N[.[1]]) ≤ $x &&
+ abs(@N[.[1]] - @N[.[2]]) ≤ $y &&
+ abs(@N[.[2]] - @N[.[0]]) ≤ $z
+}).elems;